$locationChangeStart 相当于 Angular 4

$locationChangeStart equivalent in Angular 4

Angular 4 中的 $locationChangeStart 等价物是什么?我正在寻找一个处理程序来跟踪 url 更改。我读到有一个 location service but I am not sure if I need to use this or look for something here https://angular.io/guide/router.. 任何指针都会很有帮助。谢谢!

更新:我想在服务而不是组件中执行此操作。

在 Angular 中有您可以订阅的路由器事件:

你要的是NavigationStart活动。

Angular Docs NavigationStart

这是一个很好的代码示例,作为对 如何正确使用它的回答。

import { Router, ActivatedRoute, NavigationStart } from '@angular/router'; 

export class AppComponent { 
   constructor(public _router: Router, private _activeRoute: ActivatedRoute,    private _location: Location) {
     this.router = _router; 
     this.router.events
         .filter(e => e instanceof   NavigationStart)     
         .pairwise()
         .subscribe((e) => { alert(e); }); 
   }
}