如何知道导航是否取消?
How to know whether the navigation is cancelled or not?
我正在导航到一条路线,但其中一名路线守卫在 Angular 13 中返回错误。
如何知道导航是完成还是取消。
我在下面做了,但然后阻止,最后阻止控制台甚至打印路由守卫 returns false.
this.router.navigate(['/user/admin/editor'])
.then(() =>{
console.log('then block');
})
.catch(() => {
console.log('catch block');
})
.finally(() => {
console.log('final block');
});
您可以订阅the router events, more specifically, to the NavigationCancel活动:
this.router.events.pipe(
filter(e => e instanceof NavigationCancel)
).subscribe(() => {
console.log('navigation was cancelled');
})
我正在尝试为您提供可能的工作方式
您可以对包含 url
.
的 event
变量实例使用过滤器
this.router.events.filter(e => e instanceof NavigationCancel && e.url.includes("Your Routes"))
我正在导航到一条路线,但其中一名路线守卫在 Angular 13 中返回错误。 如何知道导航是完成还是取消。 我在下面做了,但然后阻止,最后阻止控制台甚至打印路由守卫 returns false.
this.router.navigate(['/user/admin/editor'])
.then(() =>{
console.log('then block');
})
.catch(() => {
console.log('catch block');
})
.finally(() => {
console.log('final block');
});
您可以订阅the router events, more specifically, to the NavigationCancel活动:
this.router.events.pipe(
filter(e => e instanceof NavigationCancel)
).subscribe(() => {
console.log('navigation was cancelled');
})
我正在尝试为您提供可能的工作方式
您可以对包含 url
.
event
变量实例使用过滤器
this.router.events.filter(e => e instanceof NavigationCancel && e.url.includes("Your Routes"))