离开应用程序(不是组件)时如何使用candeeeeactivate Guard



在我的应用程序中,可以测试用户,请参阅测试结果。这一切都是没有注册的(例如登录通信(。但是,如果他想离开申请,我想给他注册,否则他的数据将不会保存。我不想在离开某个组件时提供注册,只有他想离开申请。我是Angular的新手。也许出于这个问题,有另一个解决方案在角度中,与canteeeeeeeeptate Guard无关。

更新:

感谢Sergey Mell的角度如下:

export abstract class DeactivationGuarded {
 abstract canDeactivate(): Observable<boolean> | Promise<boolean> | boolean;
 @HostListener('window:beforeunload', ['$event'])
 unloadNotification($event: any) {
  if (!this.canDeactivate()) {
   $event.returnValue = true;
  }
 }
}

,然后从停用的guardeded延长根部成分。

,但它不适合" OnPageHide"。

看来您的解决方案应该看起来像

function myConfirmation() {
    if (user.isRegistered) {
       return;
    }
    // Open your fancy registration dialog here;
    return 'Please, register. Otherwise your data will not be saved';
}
window.onbeforeunload = myConfirmation;

相关内容

最新更新