我对AngularJS有一个简单的问题:数组之外的属性正常更新,但数组元素(绑定到这些属性)不,这里有一个plunker来显示:http://plnkr.co/edit/gNtGhiTf228G8rP0O2iB?p=preview
var vm = this;
vm.topLine = {
netWrittenPremiumLastFye: 1000000,
netWrittenPremiumYtd: 123000
}
vm.grossColumnChartData = [
['Previous YE', vm.topLine.netWrittenPremiumLastFye],
['YTD', vm.topLine.netWrittenPremiumYtd]
];
我们可以使用$ scope。$ watch('something',function(oldValue,newValue){...})但在我的情况下这不是一个好选择,因为我必须反复多次这样做。
我想利用角度双向绑定,如上所述。
感谢任何帮助或建议,谢谢!
答案 0 :(得分:0)
我认为不使用$ watch就可以做到这一点的唯一方法是直接在html绑定中更新数组。
{{ grossColumnChartData = [
['Previous YE', vm.topLine.netWrittenPremiumLastFye],
['YTD', vm.topLine.netWrittenPremiumYtd]
] }}
<br/>
grossColumnChartData = {{grossColumnChartData | json}}
答案 1 :(得分:0)
我已更新了我的plnkr,现在我得到了答案:http://plnkr.co/edit/gNtGhiTf228G8rP0O2iB?p=preview
<div ng-repeat="item in vm.grossColumnChartData">
<label>Input {{$index+1}}:</label>
<input ng-model="item.data" type="text"/>
</div>
我对数据绑定和引用感到困惑。
我使用ng-repeat来更新数组元素。