我試圖一次顯示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工作?在控制器中做它感覺很難看。