我在下面有本地存储值:
[{"id":1, "amount":24000000}, {"id":2, "amount":10000000}]
如何在本地存储中合计金额值?我使用AngularJS在jsp中显示我的本地存储。
我的控制器:
$scope.listOfCart = CartService.getAllCarts()||[];
$scope.items = $scope.listOfCart
我的jsp:
<tr data-ng-repeat="cart in items">
<td>{{cart.amount}}</td>
</tr>
那么如何显示总和金额?
答案 0 :(得分:2)
我假设本地存储的数据数组位于$scope.items
。
在这种情况下,您可以使用amount
对项目中的值进行迭代求和,从而为构建范围设置新的reduce
。
$scope.amount = $scope.items.reduce((result, item) => {
return item['amount'] + result;
}, 0);
在这种情况下会给出结果34000000
。
答案 1 :(得分:2)
为此,您需要计算控制器内的总金额。
此处使用 HTML 中的totalAmount
变量来显示总金额。
<强>控制器强>
$scope.listOfCart = CartService.getAllCarts()||[];
$scope.items = $scope.listOfCart;
$scope.totalAmount = 0;
$scope.items.forEach(function(item){
$scope.totalAmount += item.amount;
});
<强> HTML 强>
<tr data-ng-repeat="cart in items">
<td>{{cart.amount}}</td>
</tr>
Total Amount: {{totalAmount}}
答案 2 :(得分:1)
一旦从CartService收到数据,您就可以遍历listOfCart并计算金额总和。
$scope.sumAmount = 0;
angular.forEach($scope.listOfCart , function(value, key){
$scope.sumAmount = $scope.sumAmount + value.amount;
});
并在你的HTML中
<tr data-ng-repeat="cart in items">
<td>{{cart.amount}}</td>
</tr>
Total : {{sumAmount}}
答案 3 :(得分:1)
在html中:
<td>{{sumValues()}}</td>
在控制器中
$scope.sumValues= function(){
var sum= 0;
angular.forEach($scope.listOfCart , function(value, key){
sum += value.amount;
});
return sum;
}