Angular 4路由器 - 挂钩每个路由器更改

时间:2017-08-28 10:05:40

标签: angular service breadcrumbs angular4-router

我想创建一个Breadcrumb

Breadcrumb Wikipedia

为此,我考虑创建一个服务来处理它。但我需要挂钩每个路由器更改,每次路由器状态更改时将使用的方法或类。

必须解决这个挑战而不在我的所有组件中添加onActivate方法,因为我有很多这些方法。

非常感谢!

2 个答案:

答案 0 :(得分:5)

您可以使用Router events跟踪路线变化

import { Router, NavigationEnd } from '@angular/router';
import 'rxjs/add/operator/filter';

class MyService {

  constructor(private router: Router) {
    this.router.events
      .filter(e => e instanceof NavigationEnd)
      .subscribe(e => console.log('Route changed: ' + e.url);

  }

}

答案 1 :(得分:1)

Angular 7将gsub(paste0(paste0('\\b', tidytext::stop_words$word[1:10], '\\b', collapse = "|"), '|[[:punct:]]+'), '', x$Comments) #[1] "I want to vist my teacher today only" # "I have lot of homework to be completed" 变成了events,因此您需要使用不同的代码来过滤Observable事件。

NavigationEnd

有关详细信息,请参见https://angular.io/api/router/RouterEvent