如何用ng-repeat计算总计

时间:2016-03-04 13:34:12

标签: javascript angularjs

我有物品,数量和价格的表。我可以在数量变化时更新每一行的价格。

但现在我要添加所有价格并显示总数。我确实写了一个完整的功能,但没有帮助。

查看

<table class="table">
    <thead>
        <th>Items</th>
        <th>Description</th> 
        <th>Quantity</th>

        <th>Price</th>
    </thead>
    <tbody ng-repeat="item in items">

    <td><img ng-src={{item.ImageUrl}} title="{{item.Name}}" 
             class="img-thumbnail" height="100" width="100" ><br/>
        {{item.Name}}
    </td>
    <td>{{item.Description}}</td>
    <td><input type="number" min="0" max="{{item.Quantity}}" ng-model="currentQuantity"/></td>
    <td ng-model="currentPrice">{{item.Price*currentQuantity}}</td>
    </tbody>
    <tfoot>
        <tr>
            <td/>
            <td/>
            <td>Total</td>       
            <td>{{Total()}}</td>
        </tr>
    </tfoot>
</table>

型号&amp;控制器:

(function() {
  var app = angular.module("FoodItems", []);

  var serviceUrl = "http://localhost/MkitechenService/Api/FoodItems";

  var MainController = function($scope, $http) {


  $scope.currentQuantity=1;
   $scope.currentPrice=0;

  $scope.Total = function()
  {
      currentPrice +=currentPrice;
      return 100;
  };

var onItemsLoaded = function(response) {
  console.log(response.data);
  $scope.items = response.data;

};

var onError = function(reason) {
  console.log(reason.message);

};

$http.get(serviceUrl).then(onItemsLoaded, onError);


  };


  app.controller("MainController", MainController);

}());

1 个答案:

答案 0 :(得分:3)

The pipe 'limitTo' could not be found ("oject of Projects"> 创建自己的范围,

ng-repeat

将属性ng-model="currentQuantity" 添加到此范围,因此您无法将其置于此范围之外。

但您可以将其保存在currentQuantity中,只需使用

即可
item

之后,在ng-model="item.currentQuantity" 函数中,您应该查看项目集合,并将Total加起来,就像这样

item.currentQuantity