我想构建一个Web应用程序,该应用程序具有在多个选项卡中共享的form
。我要实现的功能是防止用户在form
为dirty
时重新加载页面。我尝试了CanDeactivate Guard,但仅在用户离开时才有用。因此,我尝试了this这样的实现:
@HostListener('window:beforeunload', ['$event']) onBeforeUnload(event) {
if (this.parentForm.dirty) {
this.parentForm.form.markAsPristine();
this.parentForm.form.markAsUntouched();
return false;
}
}
还有另一种方法可以用更漂亮的方式来实现我想要的功能吗?