“未捕获(承诺):TypeError:无法读取未定义的属性”已提交”

时间:2019-01-29 16:20:45

标签: angularjs navigation

我想在用户尝试离开页面(组件)进行一些更改时警告用户。因此我使用本文https://medium.com/front-end-weekly/angular-how-keep-user-from-lost-his-data-by-accidentally-leaving-the-page-before-submit-4eeb74420f0d,but实现了此错误

  

“未捕获(承诺):TypeError:无法读取以下属性的'已提交'   未定义”和“未捕获(承诺):TypeError:无法读取属性   当我尝试从组件导航时,“未定义的脏”   无需更改。

有人可以帮我这个忙。尝试从2天开始解决此错误。 谢谢 ps:这些错误来自can-deactivate方法。

1 个答案:

答案 0 :(得分:0)

情况1:这基本上在代码无法到达您的表单时发生。在某些应用中,当您单击某些按钮或执行任何操作时,将显示一些表格,否则该页面将不在该页面中。因此,每当您检查(this.form.submitted或this.form.dirty)确保存在表单。因此只需添加一个if语句即可:

if(this.form){
    if(this.form.submitted || !this.form.dirty){
      return true;
    }
}

情况2:当您未在组件中实现抽象方法/访问器时,也会发生这种情况。