还有其他(更漂亮)的方法可以防止表单脏时重新加载浏览器?

时间:2019-06-10 08:23:32

标签: javascript angular typescript angular-components

我想构建一个Web应用程序,该应用程序具有在多个选项卡中共享的form。我要实现的功能是防止用户在formdirty时重新加载页面。我尝试了CanDeactivate Guard,但仅在用户离开时才有用。因此,我尝试了this这样的实现:

@HostListener('window:beforeunload', ['$event']) onBeforeUnload(event) {

    if (this.parentForm.dirty) {
      this.parentForm.form.markAsPristine();
      this.parentForm.form.markAsUntouched();
      return false;
    }

}

有了这个,我设法防止用户重新加载,但是浏览器消息很难看: Browser Message

还有另一种方法可以用更漂亮的方式来实现我想要的功能吗?

0 个答案:

没有答案