Ionic 4 侧边菜单在初始第一次导航时设置为活动 link
Ionic 4 Side Menu set active link on initial first navigation
我的应用程序中有一个侧面菜单,可以很好地显示活动 link。我唯一的问题是当我最初 运行 应用程序时,活动的 link 没有突出显示。我订阅了 RouterConfigLoadEnd
事件来设置选定的 link,但我认为这不是正确的方法,因为如果我导航到另一个 link,它将继续设置它。有什么建议吗?
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;
})
我的应用程序中有一个侧面菜单,可以很好地显示活动 link。我唯一的问题是当我最初 运行 应用程序时,活动的 link 没有突出显示。我订阅了 RouterConfigLoadEnd
事件来设置选定的 link,但我认为这不是正确的方法,因为如果我导航到另一个 link,它将继续设置它。有什么建议吗?
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;
})