Angular 4檢測路由變化,可以使用router.events來監聽:
支持的事件類型:
- NavigationStart:導航開始
- NavigationEnd:導航結束
- NavigationCancel:取消導航
- NavigationError:導航出錯
- RoutesRecoginzed:路由已認證
在判斷事件類型需要導入對應的事件類型,如:
import { Router, NavigationStart } from '@angular/router';
監聽單一事件
this.router.events
.filter((event) => event instanceof NavigationEnd)
.subscribe((event:NavigationEnd) => {
//do something
});
監聽多個事件
constructor(router:Router) {
router.events.subscribe(event:Event => {
if(event instanceof NavigationStart) {
//
} else if(event instanceof NavigationEnd) {
//
} else if(event instanceof NavigationCancel) {
//
} else if(event instanceof NavigationError) {
//
} else if(event instanceof RoutesRecognized) {
//
}
});
}
運用實例參考:https://www.cnblogs.com/mary-123/p/10728614.html