Есть ли другой (более красивый) способ предотвратить перезагрузку браузера, если форма грязная? - PullRequest
0 голосов
/ 10 июня 2019

Я хочу создать веб-приложение с 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;
    }

}

С этим, мне удалось предотвратить перезагрузку пользователя, но сообщение браузера выглядит ужасно: Browser Message

Есть ли другой способ реализовать желаемую функциональность более красивым способом?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...