我还在学习AngularJs,我遇到了一个我似乎无法找到任何答案的情况(尽管我已经找到了很多关于这个问题的答案......没有什么比我需要的更多)。
我有以下ng-repeat和ng-model。这很好用:
<tr ng-repeat="option in orderLine.options">
<td>
<input ng-change="updateOptionsTotal(option.price)" ng-model="option.price" value="{{ option.price }}">
</td>
</tr>
在ng-repeat之外,我还有以下内容:
<input value="{[{ options.total }]}" disabled>
这一行只是ng-repeat中所有option.price的总计。
然而,当我去改变ng-repeat中的输入时...我不知道如何抓住所有的option.prices(因为可能有很多)并将它们全部添加到创造新的总数。我在$ scope中有updateOptionsTotal方法......但是现在它只是空白,因为我不确定如何去做我需要做的事情。
任何指针都将不胜感激。谢谢!
答案 0 :(得分:1)
您可以循环显示所有价格并计算新总价,然后使用新计算结果更新总价值。
$scope.updateOptionsTotal = function(){
var total = 0;
angular.forEach($scope.orderLine.options, function(value, key) {
total = total + value.price;
});
$scope.options.total = total;
}