我可以像这样计算ng-repeat
列表中的属性总和:
<table ng-init="total=0">
<tr ng-repeat="item in items">
<td ng-init="$parent.total = $parent.total + item.Amount">
{{item.Amount}}
</td>
</tr>
</table>
但是,当items
被过滤时,这不起作用:ng-repeat="item in items | filter: search"
原因是,<table>
元素仅初始化一次,而每次列表过滤时<tr>
。因此,在应用过滤时,总和不会设置为0.
是否有一些事件/指令,在应用过滤时调用?我经常使用这个“计算总计”功能,并希望避免在我的控制器和指令中多次编写calculateTotals()
函数。