在角2,我有一个顶级菜单与其他产品。当您单击产品时,您会得到顶级路由器出口中的产品列表。然后,当您单击单个产品时,您将得到该产品的详细信息,在该产品中您可以单击版本等等。到目前为止,这个目标是嵌套的路由器插座,一切都很好。一个工作链接如下所示:
http://localhost:4200/products/123/versions
但是,当用户单击特定版本的详细信息时,我希望以更高级别的路由器链接为目标。因此,当您获得以下链接时:
http://localhost:4200/products/123/versions/2
这不会再次加载到子路由器出口,但我希望目标相同的路由器出口产品(ProductComponent)显示(这是顶级路由器出口)。当我只有/version/2时,我知道这很容易做到,但我希望将产品的上下文保存在其中。我也看了给最高级的插座命名,但这确实意味着我必须改变我所有的路由器链接,以包括这个名字。
还有另一个我不知道的选择或者我错过的最佳实践吗?(在角2文档中找不到一个很好的例子)
发布于 2017-03-27 05:12:38
{ path: 'products/123/versions/:id', component: productsComponent }允许您使用动态绘制。
使用以下方法从特定的cmp获取id:
this.paramsSub = this.activatedRoute.params.subscribe(params => this.param = params['id']);
routerLink = 'products/123/versions/'
routerLink = 'products/123/versions/2'
[routerLink] = ['products/123/versions/']
[routerLink] = ['products/123/versions/2']发布于 2017-03-27 05:05:41
尝试使用以下代码,
<a [routerLink]="['/products/123/versions']" [queryParams]="{id:id}"></a>在你的孩子路线上,你可以像这样使用
{ path: 'products/123/versions', component: productsComponent }https://stackoverflow.com/questions/43034195
复制相似问题