Angular ng-repeat如何添加总和

时间:2017-01-07 00:17:03

标签: angularjs

我有一个我想要循环的销售表,并在我去的时候添加总额。我有类似的东西。

<h1>Sale</h1>
<table>
  <tr>
    <th>Name</th>
    <th>Price</th> 
    <th>Total</th>
  </tr>
  <tr ng-repeat="item in items">
    <td>{{item.name}}</td>
    <td>{{item.price}}</td>
    <td>{{item.price +=item.price}}</td>
  </tr>

这就是我想要的

<h1>Sale</h1>
<table>
  <tr>
    <th>Name</th>
    <th>Price</th> 
    <th>Total</th>
  </tr>
  <tr>
    <td>Burrito</td>
    <td>$2.00</td>
    <td>$2.00</td>
  </tr>
  <tr>
    <td>Taco</td>
    <td>$1.00</td>
    <td>$3.00</td>
  </tr>
  <tr>
    <td>Quesadilla</td>
    <td>$4.00</td>
    <td>$7.00</td>
  </tr>
</table>

如何通过ng-repeat循环将以前的价格添加到总数中。

3 个答案:

答案 0 :(得分:1)

有一个评估小计的方法:

  $scope.getSubTotal = function(index) {
    var subtotal = 0;
    for (var i = 0; i < index+1; i++) {
      var item = $scope.items[i];
      subtotal += item.price;
    }
    return subtotal;
  }

在你的桌子上,传递索引:

<tr ng-repeat="item in items">
  <td>{{item.name}}</td>
  <td>{{item.price}}</td>
  <td>{{getSubTotal($index)}}</td>
</tr>

工作Plnkr

答案 1 :(得分:0)

尝试

<td>{{item.price +=items[$index-1].price}}</td>

答案 2 :(得分:0)

总表面只需要一次表格就像这样使用......

<td>Total: {{ getTotal() }}</td>

$scope.getTotal = function(){
    var total = 0;
    for(var i = 0; i < $scope.items.length; i++){
        var item = $scope.items[i];
        total += item.price;
    }
    return total;
}