如何将多个参数传递给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)?

如何使用底部导航视图和 Android 导航组件将参数传递给片段?

如何将百万美元html中的多个参数传递给百里香方言处理器

将路由参数传递给组件

如何将不同的参数传递给片段 [导航] Android

使用颤振将多个参数传递给命名路由