angular - 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
提前致谢。
解决方案
我有一个类似的问题,对我来说,解决方法是使用数组语法来编码每个路径段,如此处所述:https ://angular.io/api/router/RouterLink
因此,使用您的代码,它将更改为:
<a [routerLink]="['/stacks/', stack.stackId, '/modify']" (click)="onClickModifyStack(stack.stackId)">
推荐阅读
- php - 尝试使用 file_put_contents() 保存文件
- c# - 如何在总和的数字之间添加“+”号?
- batch-file - 批量重命名文件反转位置名称
- jenkins - 静态分析工具 groovyParser 无法扫描控制台日志输出,请定义文件模式 - Jenkins 警告下一代插件
- android - 通过导航架构组件进行深度链接后的返回导航
- dns - 如何从威瑞信的 com 区域文件中提取带有/不带有 whois 的域?
- java - 模板模式,但其中一个类未实现该方法
- unix - Dockerfile 中的 Unix sed 命令
- json - 我将正确的 JSON 格式正文从 Postman 发送到我的路径,但我收到 400 Bad Request 错误
- c# - System.Speech.Synthesis 和 Microsoft.Speech.Synthesis 有什么区别?