【发布时间】:2016-01-28 15:51:40
【问题描述】:
我正在尝试构建一个自定义过滤器,它将向数组添加一个汇总(平均)行。 我想这样使用它:
<tr ng-repeat="item in items | summaryRow : ['col1', 'col1'] | orderBy : 'name'"
这是我的过滤器的样子:
summaryRow.$inject = ['$parse', 'sumFilter'];
function summaryRow($parse, sumFilter) {
return function(array, fields, nameLabel) {
var row = { id: 0 }, l = array.length, setter;
row[nameLabel || 'name'] = 'Summary';
for (var i = 0, j = fields.length; i < j; i++) {
setter = $parse(fields[i]).assign;
setter(row, sumFilter(array, fields[i]) / l);
}
return array.concat(row);
}
}
问题是我希望这个额外的行是可排序的,并且知道项目内的变化。问题是我遇到了“达到 10 个 $digest() 迭代。中止!”问题。任何帮助将不胜感激,谢谢!
【问题讨论】:
标签: angularjs row ng-repeat summary