如何从Component访问RouterConfig(Angular2 RC4)

时间:2016-07-29 16:46:39

标签: angular angular2-routing

从Angular 2 Component访问RouterConfig的首选方法是什么。我想检查一下我目前路线的所有儿童路线。

我能想到的最好的方法是访问ActivatedRouteSnapshot的私有成员变量( _routeConfig )。但是宁愿不使用它,因为它可能会发生变化。

请参阅下面的代码段:

export class MyComponent{

  constructor(private _router: Router,
            private _route: ActivatedRoute)
  {

  }

  private findChildRoute(componentPath : string){
    let matchingRoute = (<any>this._route.snapshot)._routeConfig.children.find((T) => T.path == componentPath );
    return matchingRoute;
  }
}

1 个答案:

答案 0 :(得分:0)

您可以使用访问完整路由器树。

this.router.routerState // tree of activated routers

现在,您可以使用子项查找所有子路由状态ActivatedRoute

constructor(private router:Router, private currentActivatedRoute:ActivatedRoute)
// this should be called in ngOnInit
    var state = this.router.routerState
    var children = state.children(this.currentActivatedRoute)

RouterStateTree