我正在尝试最近宣布的Angular 2中的新路由器,即Angular 2 @ angular / router 3.0.0-alpha.7
我知道在新路由器中我们可以使用以下代码访问路由参数:
this.activatedRoute.params
.map(params => params['id'])
.subscribe((id) => {
//use param id
});
任何人都可以指导我们如何处理我们路线中有多个多个参数的情况?
我的意思是我们如何从路径中检索多个参数的值。
答案 0 :(得分:3)
您可以这样做的一种方法是使用Parameter handling和Destructuring,如下所示:
this.activatedRoute.params
.map(params => [params['id'], params['p2'], params['p3']]) <== pass desired array
.subscribe(([id, p2, p3]) => { <== destructuring params
//use param id, p2 or p3
});
另请参阅此处的HeroDetailComponent组件http://plnkr.co/edit/JtuOAZsZPhkn1CISQaO9?p=preview
或者你可以写一点简单:
this.activatedRoute.params
.subscribe(({id, p2, p3}) => { <== destructuring params
//use param id, p2 or p3
});
Plunker sample(HeroDetailComponent)