Angular 在目标路由保护中重定向时如何停止双canDeactivate呼叫?
我需要将Angular 在目标路由保护中重定向时如何停止双canDeactivate呼叫?,angular,Angular,我需要将canDeactivateguard添加到我的一个应用程序路径中。在这个函数中,我调用nativeconfirm函数来确认用户是否真的想离开页面。若用户选择非警卫保护的路线,那个么一切看起来都很好 然而,当用户重定向到一个路由时,会出现一个问题,其中有一个守卫重定向到另一个页面。然后出现两次确认弹出窗口 我创造了一个简单的复制品 点击“禁止链接” 单击“确定” 弹出窗口出现两次 有没有什么方法可以解决这个问题而不需要一些老套的解决方案 can-deactivate.guard.ts @I
canDeactivate
guard添加到我的一个应用程序路径中。在这个函数中,我调用nativeconfirm
函数来确认用户是否真的想离开页面。若用户选择非警卫保护的路线,那个么一切看起来都很好
然而,当用户重定向到一个路由时,会出现一个问题,其中有一个守卫重定向到另一个页面。然后出现两次确认弹出窗口
我创造了一个简单的复制品
@Injectable({providedIn:'root'})
导出类CanDeactivateGuard实现CanDeactivate{
canDeactivate():可观察的|承诺|布尔值{
返回确认(“您确定要离开吗?”);
}
}
can-activate.guard.ts
导出类CanActivateGuard实现CanActivateGuard{
构造函数(专用路由器:路由器){}
canActivate():可观察的|承诺|布尔值{
this.router.navigate(['/不允许']);
返回false;
}
}
这显然是“预期”行为: