【发布时间】:2014-03-06 19:45:51
【问题描述】:
我有一个指令:
<button ng-click="update()">Update channels for {{id}}</button><br/>
<li ng-repeat="(k,v) in entries">
{{k}} is {{v}}
<input type="text" ng-model="v"></input>
</li>
controller: ($scope, $resource) ->
Query = $resource('/dmx/getdefs/:id')
Query.get {id: $scope.id}, (res) ->
$scope.entries = res
return
它从服务器检索数据并显示它们。这里没问题。 我编辑一个值。 但是,当我点击更新时,我可以在我的处理程序中看到 $scope.entries 没有改变。
为什么?
我能够解决这个问题: - 而不是服务器返回一个字典 {'red': 200, 'blue': 100} 而不是我返回一个数组 [ {'key' : 'red', 'val': 200}, {'key': blue, 'val': 100}]。
如果我将指令更改为:
<li ng-repeat="item in entries">
{{item.key}} has {{item.val}}
<input type="text" ng-model="item.val"></input>
</li>
它工作正常。但是有没有没有数组的方法?似乎 Angular 能够使用 ng-repeat 显示字典,但不能同时进行数据绑定。
【问题讨论】:
标签: angularjs binding directive