ng-repeat模型在ng-repeat内部通过(key,val)不更新

时间:2014-07-16 07:14:51

标签: angularjs

这是我的工作demo

<section ng-repeat="t in test">
  <div ng-repeat="(key,value) in t">
    <div>{{key}}</div>
   <input type="text" ng-model="value"/>
  </div>
</section>

模型保持不变。如何同步?请注意,数据结构很重要。

1 个答案:

答案 0 :(得分:30)

ng-model绑定将在当前范围内评估其表达式。当ng-repeat创建子范围时,这意味着ng-model将在子范围上查找名为value的属性。在您的示例中,我们希望它在范围内查找val属性,该属性的别名为t

这是设计使用,可以通过引用表达式中的父范围t来规避您的情况。

Working demo

代码(注意输入元素上的绑定已更改):

<section ng-repeat="t in test">
  <div ng-repeat="(key,value) in t">
    <div>{{key}}</div>
   <input type="text" ng-model="t[key]"/>
  </div>
</section>

当您使用的是Angular 1.3的测试版时,这可能是一个错误。