我的应用程序中有一个侧面菜单,可以很好地显示活动链接。我唯一的问题是,当我最初运行应用程序时,活动链接未突出显示。我订阅了RouterConfigLoadEnd
事件来设置选定的链接,但是我认为这不是正确的方法,因为如果导航到另一个链接,它将继续对其进行设置。有什么建议吗?
constructor(private router: Router) {
const initialPage = this.router.events.subscribe((event: RouteConfigLoadEnd) => {
console.log('inital load');
this.selectedPath = '/menu/forecast';
});
// Tried to unsub here but then the active link will not be active at start
// initalPage.unsubscribe();
this.router.events.subscribe((event: RouterEvent) => {
if (event && event.url) {
console.log('set active');
this.selectedPath = event.url;
}
});
}
您可以订阅NavigationEnd路由器事件,该事件在每次页面导航成功结束时触发。Official DOc
this.router.events.subscribe((events:NavigationEnd)=>
{
this.selectedPath = events.url;
})