Angular2 Router的RouterLink意外行为

时间:2016-05-15 08:29:20

标签: angular angular2-routing angular2-template

我看到了Angular2的RouterLink指令的一些意外行为。

我的路线是/channel/:id

<a [routerLink]=['/channel',{id:c.id}]>

其输出应为

<a href="/channel/122">

然而它被解析为

<a href="/channel;id=123">

还有如何链接/channel/:id/remove-user之类的路线?

1 个答案:

答案 0 :(得分:1)

我有类似的问题从Angular 1移植到Angular 2 RC.1路由器。请尝试将您的链接更改为:

<a [routerLink]=['/channel', c.id]>
<a [routerLink]=['/channel', c.id, 'remove-user']>

似乎RC.1中的新路由器不使用对象参数来填充路由中的:abc类型参数。相反,对象参数仅用作查询参数。并且RC.1路由器似乎使用; id = 123; x = abc而不是?id = 123&amp; x = abc。我还没有找到改变它的方法。但是应该可以提供自己的url序列化程序,因此可能会在以后的版本中添加它。