在全球范围内获取路由参数的正确方法?

时间:2017-02-25 00:31:12

标签: angular typescript angular-routing

这是Angular 2.4.8的工作代码:

constructor(private _router:Router) {
  _router.events
  .filter(e => e instanceof NavigationEnd) 
  .forEach(e => {
    console.log(_router.routerState.root.firstChild.params['valu‌​e']['id']);
    console.log(_router.routerState.root.firstChild.firstChild.p‌​arams['value']['id']‌​);
  );
}

我很难相信这是这样做的方法,因为当我使用点语法时,例如:

_router.routerState.root.firstChild.p‌​arams.value;

_router.routerState.root.firstChild.firstChild.p‌​arams.value;

......我明白了:

Property 'value' does not exist on type 'Observable<Params>'.

感觉很乱,但是现在上面的代码很有用。我只是想知道获取路线参数的正确方法。

0 个答案:

没有答案