angular2路由器的canDeactivate方法,即使我select从确认弹出窗口取消也改变路由器状态
canDeactivate method of angular2 router, changing router state even if I select cancel from confirmation popUp
我正在使用 canDeactivate 方法来阻止 angular2 中的浏览器导航。我正在调用一个确认弹出窗口,如果用户 select 取消它不会移动到另一个页面,但路由器的状态正在改变。使用 angular 路由器版本 4.4.4.
试试这个:
export class DeactivateComponent implements CanDeactivate<MyComponent> {
canDeactivate(component: MyComponent,
currentRoute: ActivatedRouteSnapshot,
currentState: RouterStateSnapshot,
nextState: RouterStateSnapshot): Observable<boolean> | Promise<boolean> | boolean {
return component.canDeactivate() || window.confirm("Proceed?");
}
}
典型路径:
{path: ':id', component: MyComponent, canDeactivate: [DeactivateComponent]},
我正在使用 canDeactivate 方法来阻止 angular2 中的浏览器导航。我正在调用一个确认弹出窗口,如果用户 select 取消它不会移动到另一个页面,但路由器的状态正在改变。使用 angular 路由器版本 4.4.4.
试试这个:
export class DeactivateComponent implements CanDeactivate<MyComponent> {
canDeactivate(component: MyComponent,
currentRoute: ActivatedRouteSnapshot,
currentState: RouterStateSnapshot,
nextState: RouterStateSnapshot): Observable<boolean> | Promise<boolean> | boolean {
return component.canDeactivate() || window.confirm("Proceed?");
}
}
典型路径:
{path: ':id', component: MyComponent, canDeactivate: [DeactivateComponent]},