从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;
}
}
答案 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)