什么是Angular2等效于AngularJS $ routeChangeStart?

时间:2017-06-16 14:53:28

标签: angularjs angular typescript events routing

AngularJS中,我们能够使用$routeChangeStart/End的{​​{1}}事件指定路线更改事件以观察路线对象的变化。 Angular2中路由更改事件的等价物是什么?

我们如何在Angular2

中执行以下代码的确切功能
$rootScope

我在这里得到了一些解决方案,但它没有更多细节,所以我问了一个新问题。

angular2 $routeChangeStart , $routeChangeSuccess ,$routeChangeError

1 个答案:

答案 0 :(得分:4)

您可以通过执行以下操作来侦听路由器的事件:

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

// constructor method of some angular element
constructor(
    private _router: Router,
  ) {
this._router.events
          .filter(event => event instanceof NavigationStart)
          .subscribe(event => {
            console.log("New route");
          });
 }

编辑:我不完全确定这实际上是你需要的,在仔细研究angularjs文档后,似乎这些事件与angular2中的守卫的分辨率/结果更相关