Angular 2 @angular/router 3.0.0-alpha.7 - 访问多个参数

Angular 2 @angular/router 3.0.0-alpha.7 - Accessing Multiple Parameters

我正在尝试 Angular 2 最近宣布的新路由器,即 Angular 2 @angular/router 3.0.0-alpha.7

我知道在新路由器中我们可以使用以下代码访问路由参数:

this.activatedRoute.params
            .map(params => params['id'])
            .subscribe((id) => {

             //use param id

             });

谁能指导我们如何处理路由中有多个参数的情况?

我的意思是我们如何从路由中检索多个参数的值。

一种方法是使用 Parameter handling and 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)