首页 > 解决方案 > Angular - 带有 routerlink url 的锚标记为 href 属性多次编码

问题描述

<a [routerLink]="'/stacks/'+stack.stackId+'/modify'" (click)="onClickModifyStack(stack.stackId)">

我正在使用模板数组,

场景:stack.stackId = 'Stack123/22' 我用encodeURIComponent对其进行编码,它在routerlink中显示良好,但在href中它编码多次。

我已经尝试在分配它 routerlink 之前对其进行编码,但仍然没有工作。

预期:[mainurl] /stacks/ Stack123%2F22 /modify

目前我得到 - [mainurl] /stacks/ Stack123%252F22 /modify

提前致谢。

标签: angularangular6angular2-routingrouterlinkangular-routerlink

解决方案


我有一个类似的问题,对我来说,解决方法是使用数组语法来编码每个路径段,如此处所述:https ://angular.io/api/router/RouterLink

因此,使用您的代码,它将更改为:

<a [routerLink]="['/stacks/', stack.stackId, '/modify']" (click)="onClickModifyStack(stack.stackId)">

推荐阅读