В моем приложении пользователь может быть проверен, см. Результаты теста.И это все без регистрации (например, логин-пароль).Но если он хочет оставить заявку, я хочу предложить ему зарегистрироваться, иначе его данные не будут сохранены.Я не хочу предлагать зарегистрироваться при выходе из определенного компонента, только если он хочет оставить заявку.Я новичок в угловой.Возможно, для этой проблемы есть другое решение в угловых, не связанных с CanDeactivate guard.
ОБНОВЛЕНИЕ:
благодаря Сергею Меллу, для угловых сделал следующее:
export abstract class DeactivationGuarded {
abstract canDeactivate(): Observable<boolean> | Promise<boolean> | boolean;
@HostListener('window:beforeunload', ['$event'])
unloadNotification($event: any) {
if (!this.canDeactivate()) {
$event.returnValue = true;
}
}
}
А затем расширяет корневой компонент из DeactivationGuarded.
Но он не работает для 'onpagehide'.