1

在获得我可以得到的 id 后,我正在尝试使用 routerLink 导航到页面。

问题是链接显示为“/page;id=10/component”。我希望它显示为 '/page/10/component' (不是矩阵表示法 - 没有 ';id=' )

在我的 app.routes.ts 中:

@RouterConfig = [
    { path: 'page/:id/component', component: MyComponent, data: {id: 'item.id'} }
];

在我的页面中:

<a [routerLink]="['page', {id: item.id}, 'component']">

我正在使用最新的 Angular 2 路由器组件(RC3 Beta 2)。

有人知道我在做什么错吗?提前致谢。

4

3 回答 3

1

这应该是:

<a [routerLink]="['page', {'id': item.id}, 'component']">

代替:

<a [routerLink]="['/page', item.id, 'component']">
于 2016-07-15T16:34:51.810 回答
0

据我所知,这个路由配置不起作用:

{ path: 'page/:id/component', component: MyComponent, data: {id: 'item.id'} }

我认为你真正需要问的是决赛'/component'是否必要。如果是,您可能需要考虑添加子路由

另一种选择是更改路线的顺序,page/component/:id改为使用。我相信 routerlink 指令将您的 URL 搜索参数附加到路由的末尾,所以这应该可以工作。

同样,最简单的解决方案是'/component'从路由配置中删除。

于 2016-08-05T14:11:13.167 回答
0

尝试这个

<a [routerLink]="['page', item?.id, 'component']">
于 2016-07-15T18:07:17.557 回答