角度/离子 检查同一页面导航事件



>我有一个底部菜单,其中包含几个按钮,每个按钮都使用navigate链接到一个页面:

this.navigate(TimelinePath, 'back');

然后我有一个覆盖层,用于检查要测试的路径是否应该关闭:

this.routerSubscription = this.router.events.subscribe((val) => {
if (val instanceof NavigationEnd) {
this.closeModal();
}
});

这有效,但是存在一个问题:如果我已经站在我尝试重定向到的页面上,则不会触发此事件。

所以我的问题是:如何检查应该重定向到的页面是否已打开?

键是自 Angular 5 以来RouterModule导入中存在的onSameUrlNavigation选项。

RouterModule.forRoot(routes, {
onSameUrlNavigation: 'reload'
})

这将触发NavigationEnd并关闭您的模式,即使导航到同一 URL。检查这个 StackBlitz 看看它的实际效果。

最新更新