在我的应用程序中,可以测试用户,请参阅测试结果。这一切都是没有注册的(例如登录通信(。但是,如果他想离开申请,我想给他注册,否则他的数据将不会保存。我不想在离开某个组件时提供注册,只有他想离开申请。我是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;