Как передать несколько параметров в угловой маршрутизатор? - PullRequest
0 голосов
/ 17 сентября 2018

Я знаю, что мы можем сделать это как:

    { 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' }

??

Спасибо

Ответы [ 3 ]

0 голосов
/ 17 сентября 2018

В вашем втором пути есть небольшая опечатка с кавычками:

{ 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>

Проверить демо ЗДЕСЬ .

0 голосов
/ 17 сентября 2018
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]);
0 голосов
/ 17 сентября 2018

в файле rout.ts

{ path: 'myUrlpath/:id1/:id2', component: componentToGoTo}, 

Для вызова роутера

this.router.navigate(['myUrlPath/'+"someId"+"/"+"anotherID"]);
...