SO Angular.js ng-repeat に関するこの回答の基本的な考え方に従った後: x 回の反復後に要素を開く/閉じる
項目をグループ化して div でラップすると、次のエラーが発生しますError: 10 $digest() iterations reached. Aborting!
Watchers fired in the last 5 iterations:
これにより、Angular は 10 回の繰り返しを想定しており、5 回しか登録していないと思われます。ただし、出力は正しく、10 項目すべてが表示されています。
私は、ウィンドウの開始画面タイプのレイアウトを作成しています。タイルの一部は単一で、他のタイルは幅が 2 倍になります。タイルをdivでラップするためにいくつかの計算を行っています。
私が作ったフィルターは
app.filter('パーティション', function() { var part = function(arr, size) { if ( 0 === arr.length ) return []; var applist=[]; var partlist=[]; var ブロックサイズ = 0; console.log(arr); for(var a in arr){ var app = arr[a]; if(app.width=='single'){ console.log(app.name); partlist.push(アプリ); ブロックサイズ++; } if(app.width=='double' && blocksize=4){ applist.push(パーツリスト); partlist=[アプリ]; ブロックサイズ=2; } if(blocksize==サイズ || a==arr.length-1){ applist.push(パーツリスト); パーツリスト=[]; ブロックサイズ=0; } } console.log(アプリリスト) アプリリストを返します。 }; 返品部分; });
そしてng-repeatsを含むhtmlは
<div ng-repeat="アプリでブロック | フィルター:検索 | パーティション:6" クラス="アプリブロック" > <li ng-repeat="app in block" class="app-tile" ng-class="{double:app.width=='double'}"> <div class="name">{{app.name}}</div> </li> </div>
ネストされた繰り返しを間違って使用していますか? 私が言ったように、表示されているタイルの数は正しいですが、エラーは私の問題です (大きく、醜く、赤です)。