Передача нескольких параметров маршрута в Angular2
Можно ли передавать несколько параметров маршрута, например. как ниже, нужно передать id1
и id2
в component B
@RouteConfig([
{path: '/component/:id :id2',name: 'MyCompB', component:MyCompB }
])
export class MyCompA {
onClick(){
this._router.navigate( ['MyCompB', {id: "someId", id2: "another ID"}]);
}
}
Ответы
Ответ 1
OK осознала ошибку. она должна быть /:id/:id2
В любом случае это не найдено ни в одном уроке, ни в другом вопросе StackOverflow.
@RouteConfig([{path: '/component/:id/:id2',name: 'MyCompB', component:MyCompB}])
export class MyCompA {
onClick(){
this._router.navigate( ['MyCompB', {id: "someId", id2: "another ID"}]);
}
}
Ответ 2
Как подробно описано в ответе , ответ mayur и user3869623 теперь относятся к устаревшему маршрутизатору. Теперь вы можете передать несколько параметров следующим образом:
Для вызова маршрутизатора:
this.router.navigate(['/myUrlPath', "someId", "another ID"]);
В routes.ts:
{ path: 'myUrlpath/:id1/:id2', component: componentToGoTo},
Ответ 3
new AsyncRoute({path: '/demo/:demoKey1/:demoKey2', loader: () => {
return System.import('app/modules/demo/demo').then(m =>m.demoComponent);
}, name: 'demoPage'}),
export class demoComponent {
onClick(){
this._router.navigate( ['/demoPage', {demoKey1: "123", demoKey2: "234"}]);
}
}