如何在视图中添加AngularJs迭代值?

时间:2014-05-18 20:13:22

标签: javascript angularjs

假设我正在这样做

<div ng-repeat="order in orders">
   <p>order.productname</p>
   <p>order.productvalue</p>

</div>

有没有办法计算视图中所有产品值的总和,还是需要在控制器中创建一个函数?有人能指出我正确的方向吗?感谢

2 个答案:

答案 0 :(得分:2)

我会做这样的事情

在控制器

$scope.numberOfItems= function(items){
  return items.length;
}

在模板

{{numberOfItems(orders)}}

答案 1 :(得分:1)

您需要在控制器中创建一个求和函数,用于计算total

<div ng-repeat="order in orders">
    <p>{{order.productname}}</p>
    <p>{{order.productvalue}}</p>
</div>
<div>
    <p>Total: {{total}}</p>
</div>

或者您可以像http://cacodaemon.de/index.php?id=55一样创建过滤器,并在视图中直接过滤总和:

<div ng-repeat="order in orders">
    <p>{{order.productname}}</p>
    <p>{{order.productvalue}}</p>
</div>
<div>
    <p>Total: {{orders|sumByKey:'productvalue'}}</p>
</div>