Angular 2,如何获取全局激活的路由?

BBa*_*ger 5 typescript angular2-routing angular

如何在不涉及路由的组件中获取ActivatedRoute?

我尝试这样:

constructor(
  private _route: ActivatedRoute,
) {
  this._route.params.subscribe((params: Params) => {

    console.log(params['param1'], params['param2']);

  });

}
Run Code Online (Sandbox Code Playgroud)

它记录未定义,未定义。

Gün*_*uer 5

constructor(private router:Router) {
  router.events
  .filter(e => e instanceof NavigationEnd) 
  .forEach(e => {
    console.log(router.routerState.root);
    console.log(router.routerState.root.firstChild);
  );
}
Run Code Online (Sandbox Code Playgroud)

在角度 6 中:

this.router.events.pipe(filter(e => e instanceof NavigationEnd)).subscribe(r => {
  console.log(r);
});
Run Code Online (Sandbox Code Playgroud)