为了账号安全,请及时绑定邮箱和手机立即绑定

如何将编码字符串作为参数发送到 url 字符串中并在新选项卡中打开

如何将编码字符串作为参数发送到 url 字符串中并在新选项卡中打开

德玛西亚99 2022-01-13 15:08:03
如何将编码字符串作为参数发送到 Angular 的 URL 字符串中并在新选项卡中打开。我正在尝试发送由“-”分隔的多个参数并通过 url 转换为 base64 编码,但它让我找不到。我正在使用 angular 8. 使用 router.navigate ,它工作正常,但我想在新标签中打开 url。这是我在 TS 中的代码。 goToAssessmentPage(event, assignmentId, courseId, studentId, instituteId, sectionId , assignment_submission_id) {    event.preventDefault()    const string:string = btoa(courseId + '-' + assignmentId + '-' + studentId + '-' + instituteId + '-' + sectionId + '-' + assignment_submission_id)    const url: string = string + '/grader-assessment';    window.open(url, '_blank');  }app.routing.ts{    path: ':params/grader-assessment',    component: GraderAssessmentPageComponent},
查看完整描述

1 回答

?
月关宝盒

TA贡献1772条经验 获得超5个赞

好吧,您很可能需要该 url 字符串中的整个 url 树才能使 window.open 工作。


来自文档(https://angular.io/api/router/Router#createurltree)


// create /team/33/user/11

router.createUrlTree(['/team', 33, 'user', 11]);

最重要的是(https://angular.io/api/router/Router#serializeurl)


serializeUrl(url: UrlTree): 字符串


所以在你的情况下,它会是这样的:


const string:string = btoa(courseId + '-' + assignmentId + '-' + studentId + '-' + instituteId + '-' + sectionId + '-' + assignment_submission_id)

const fullUrl:string = this.router.serializeUrl(router.createUrlTree([string, '/grader-assessment']));

// Then you navigate to this full url

window.open(fullUrl, '_blank');


查看完整回答
反对 回复 2022-01-13
  • 1 回答
  • 0 关注
  • 156 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号