angularjs – 如何在窗体中重置$dirty

前端之家收集整理的这篇文章主要介绍了angularjs – 如何在窗体中重置$dirty前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在我的申请表中使用$ dirty时遇到一个问题。

问题是一旦你更改表单域,$ dirty的值将被设置为true
但现在当您撤消更改时,它不会将$ dirty值重置为false。

我们可以手动将$ dirty值重置为false,但之后当您再次更改表单域值时,$ dirty将不会将其值更改为true。根据我的观察,通过放置ng-dirty类来设置你表单中每个字段的脏值。即使你删除该类也不影响$ dirty行为。

// Please find below attached Fiddle for code reference

Fiddle

你要找的是$ setPristine()。你可以在这里找到文档: http://docs.angularjs.org/api/ng/type/form.FormController

当表单首先在页面上加载时,它处于称为原始状态。你会发现这个表单,$ pristine是true和form。$ dirty是false。对任何具有角度绑定的元素进行任何更改后,这些值都会相反。虽然您可以将表单输入值重置为原始状态,但这样做并不会改变角度状态。调用表单$ setPristine();将这些表单值设置为原始状态。

猜你在找的Angularjs相关文章