如何在本地存储中显示值的总和?

时间:2017-12-27 10:15:10

标签: angularjs jsp angular-local-storage

我在下面有本地存储值:

[{"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>

那么如何显示总和金额?

4 个答案:

答案 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;
}