从父节点和当前组件一起获取params

时间:2017-02-27 10:12:18

标签: angular router

我有这条路线

foo/1/bar/2

当我在bar的组件中时,我可以使用

获得2
this.activatedRoute.params.subscribe((values: any) => {
    value.id; //returns 2
}

当我想获得1时我可以用:

this.activatedRoute.parent.params.subscribe((values: any) => {
    value.id // returns 1
}

但是我可以使用什么功能得到两个值?我应该在另一个内部调用一个订阅,还是有更好的方法来使用angular2?

1 个答案:

答案 0 :(得分:1)

您可以订阅路由器事件,然后从快照中读取数据

constructor(router:Router, route:ActivatedRoute) {
  router.events
  filter(e => e instanceof NavigationEnd)
  .forEach(e => {
    console.log(route.snapshot.params['id']);
    console.log(route.snapshot.parent.params['id']);
  });
}