我在使用 时遇到一个问题$脏在我的申请表中。
问题是一旦您更改表单字段, 的值$脏将设置为 真实
但是现在,当您撤消更改时,它不会重置 $脏值为 假 .
我们可以重置 $脏值为 假 手动,但之后当您再次更改表单字段值时 $脏不会将其值更改为 真实 .根据我的观察,它设置为 $脏通过放置 ng-dirty 类来获取表单中每个字段的值。即使您删除了该类,它也不会影响 $脏行为。
// Please find below attached Fiddle for code reference
Fiddle .
最佳答案
您正在寻找的是 $setPristine()。您可以在此处的文档中找到它:http://docs.angularjs.org/api/ng/type/form.FormController
当表单首次加载到页面上时,它处于一种称为原始的状态。你会发现 form.$pristine 是 true 而 form.$dirty 是 false。一旦对具有 Angular 绑定(bind)的任何元素进行了任何更改,这些值就会被反转。虽然您可以将表单输入值重置为其原始状态,但这样做不会更改任何 Angular 表单状态。调用 form.$setPristine();将这些表单值设置回其原始状态。
关于angularjs - 如何在表单中重置 $dirty,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22990923/