如何在Angular路线中使用带正斜杠的路径?
在Hero教程的基础上,我有:
{ path: 'detail/:path', component: HeroDetailComponent },
路径意味着动态。它可以像
a/b
a/b/c
a/d/e/f
等等。关键是我不知道路径有多深,也不知道各个路径部分的名称。
在HTML中,它就像
一样使用<a routerLink="/detail/{{hero.path}}">
{{hero.path}}
</a>
错误是
Error: Cannot match any routes.
最终目标是让Angular服务在对服务器的请求中使用路径作为URL查询参数。
我在routerLink中尝试了几个硬编码值,以确保代码正常工作,如果我只传递一个没有任何正斜杠的值。
我在这里尝试了这个建议却没有成功:Forward Slash in Angular Route Parameters
我发现https://github.com/angular/angular/issues/10570似乎描述了我的问题,并声称它已于2016年修复。其他一些人声称它在2017年无效。
如果有人能指出我正确的方向,我会很高兴。谢谢!
答案 0 :(得分:1)
在HTML中使用属性绑定[]
而不是插值{{}}
:
<a [routerLink]="['/detail', hero.path]">
{{hero.path}}
</a>