【发布时间】:2016-02-17 02:59:59
【问题描述】:
我的 Angular 应用在一个页面上有 > 1 个表单。每个表格都可以保存或重置。每个表单上的字段不一定映射到它自己的数据对象。
例如,我有两条必须分别获取和保存的数据。让我们调用 json 块,a 和 b。
HTML:
<form>
<input type="text" ng-model="a.foo"/>
<input type="text" ng-model="b.bar"/>
</form
<form>
<input type="text" ng-model="b.bar[0].baz"/>
<input type="text" ng-model="a.boo"/>
</form
如果第一个表单只映射到a,第二个映射到b,那么重置数据就很简单了。但我不想重置页面上所有表单的所有a 或b 数据。我只想重置特定表单上表示的输入的特定数据字段。
我目前的逻辑大部分有效。取消时,我获取表单中的元素,获取它们的 ng-model 属性并根据 ng-model 字符串值动态重置 a 和 b 上的属性。这看起来很“脏”,而且它不适用于某些使用 $index 特殊变量的 ng-model 属性,因为在执行 .attr() 时,attr 值不会被 angular 解析。什么是最好的解决方案?映射回原始数据的每个表单的不同模型?
【问题讨论】:
标签: javascript angularjs