在ng-repeat中使用对象上的ng-model会更新原点

时间:2015-07-18 20:19:39

标签: javascript angularjs

我想使用角度模板引擎在ng-repeat中更新对象的键和值。但是,这似乎不起作用。

.links
    {
background-color: #BBBBDD;
text-align: center;
    }

在此示例中,文本字段是可输入的,您可以更改ng.repeat范围内的键值和值,但这些值不会在原始对象上更新!为什么是这样?如何解决这个问题而不必在javascript中制作一些讨厌的黑客?

我做了一个jsfiddle演示:

http://jsfiddle.net/xkg8den8/3/

1 个答案:

答案 0 :(得分:2)

问题是ng-repeat创建了一个子范围,并且您没有使用始终将对象传递给ng-model的黄金法则。

因为您在子范围内传递基元,所以您已经打破了对该对象的双向绑定,因为基元没有继承。

更改对象中的key并不合理,但对于您可以执行的值

<input data-ng-model="data[key]" />

这些问题是角度工作和原型继承的基础。有很多关于范围如何工作的文章......你肯定值得花时间研究这个

SCons