Я хочу создать веб-приложение с form
, которое будет доступно на нескольких вкладках. Функциональность, которую я хочу реализовать, состоит в том, чтобы предотвратить перезагрузку страницы пользователем, когда form
равно dirty
. Я попробовал CanDeactivate Guard , но это полезно только тогда, когда пользователь уходит. Итак, я попробовал эту реализацию, например:
@HostListener('window:beforeunload', ['$event']) onBeforeUnload(event) {
if (this.parentForm.dirty) {
this.parentForm.form.markAsPristine();
this.parentForm.form.markAsUntouched();
return false;
}
}
С этим, мне удалось предотвратить перезагрузку пользователя, но сообщение браузера выглядит ужасно:
Есть ли другой способ реализовать желаемую функциональность более красивым способом?