如何将多个参数传递给Angular路由器?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将多个参数传递给Angular路由器?相关的知识,希望对你有一定的参考价值。
我知道我们可以这样做:
{ path:'/entity/:id/:action', component: EntityComponent }
但是,我想为路径做一些事情:
{ path: '/entity/:id/sub-entity/:id2', component SubEntityComponent }
知道怎么做吗?
谢谢。
- - - - 更新 - - -
怎么做两个:
{ path: 'entity/:id/sub-entity/:id2', component: SubEntityComponent }
和
{ path: 'entity/:id/sub-obj/:id2, component: SubObjComponent' }
??
谢谢
答案
在你的第二条道路上只有一个小错字引号:
{ path: 'entity/:id/sub-obj/:id2', component: SubObjComponent }
您可以像这样绑定RouterLink:
<a [routerLink]="['/entity', id, 'sub-entity', id2]">SubEntityComponent</a>
<a [routerLink]="['/entity', id, 'sub-obj', id2]">SubObjComponent</a>
检查演示HERE。
另一答案
const routes: Routes = [
{
path: '',
component: HomeComponent
},
{
path: 'entity/:id/sub-entity/:id2',
component: SubEntityComponent
},
{
path: '/entity/:id/sub-entity/:id2',
component SubEntityComponent
}
];
// in component:
// '/entity/:id/:action'
const id; // your param
const action; // your action
this.router.navigate(['entity', id, action]);
// 'entity/:id/sub-entity/:id2'
const id; // your first param
const id2; // your second param
this.router.navigate(['entity', id, 'sub-entity', id2]);
另一答案
在routes.ts文件中
{ path: 'myUrlpath/:id1/:id2', component: componentToGoTo},
打电话给路由器
this.router.navigate(['myUrlPath/'+"someId"+"/"+"anotherID"]);
以上是关于如何将多个参数传递给Angular路由器?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 TypeScript 将多个参数传递给 Angular 中的 @Directives (@Components)?