我试图一次显示N个物品块中的一堆物品。我需要将项目分块,因为标记必须是表格/网格(每组N个项目有一行,然后是每个项目的一列)。这里有一个简单的尝试:为什么此分组角度过滤器会导致摘要循环?
app.filter('inGroupsOf', function() {
return function (input, groupSize) {
if (!input) {
return [];
}
var result = [];
for (var index = 0; index < input.length; index++) {
var groupIndex = Math.floor(index/groupSize);
if (!result[groupIndex]) {
result[groupIndex] = [];
}
result[groupIndex].push(input[index]);
}
return result;
};
});
<div ng-controller="Ctrl">
<div ng-repeat="itemGroup in items | inGroupsOf:7">
<span ng-repeat="item in itemGroup">{{item.name}}</span>
</div>
</div>
(完整版在这里:http://jsfiddle.net/bradleybuda/twhVj/3/)
这将导致 “10 $摘要()迭代达到” 错误。我已经看过this question的接受答案,但那里的建议不适用于我(除了核对过滤器并在控制器中执行此操作)。有没有什么方法可以用模板/过滤器进行这种ng-repeat工作?在控制器中做它感觉很难看。