在用户尝试离开页面(组件)进行一些更改时警告用户.所以我使用这篇文章实现 https://medium.com/front-end-weekly/angular-how-keep-user-from-lost-his-data-by-accidentally-leaving-the-page-before-submit-4eeb74420f0d,but 我收到此错误
"未捕获(在承诺中):类型错误:无法读取属性"已提交"的 undefined"和"uncaught(in promise):TypeError:无法读取属性 未定义的'脏'"当我尝试从组件导航时 无需进行更改。
有人可以帮我解决这个问题吗?尝试从 2 天开始解决此错误。谢谢PS:这些错误来自可以停用的方法。
情况 1:这基本上发生在代码无法访问您的表单时。在某些应用程序中,当您单击某些按钮或执行任何操作时,将显示一些表单,否则该表单将不会出现在该页面中。因此,每当您检查(this.form.submit或this.form.dirty)时,请确保表单存在。所以只需添加一个这样的 if 语句:
if(this.form){
if(this.form.submitted || !this.form.dirty){
return true;
}
}
情况 2:当您不在组件中实现抽象方法/访问器时,也会发生这种情况。