角度路由 - 如何在路由路径中使用正斜杠

时间:2018-04-20 23:29:43

标签: angular angular2-routing

如何在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年无效。

如果有人能指出我正确的方向,我会很高兴。谢谢!

1 个答案:

答案 0 :(得分:1)

在HTML中使用属性绑定[]而不是插值{{}}

<a [routerLink]="['/detail', hero.path]">
   {{hero.path}}
</a>