オブジェクトの配列を任意のフィールド名の最初の文字でグループ化しようとしていますが、を使用しようとしたときにこの問題が発生しましたunderscore.js
。
プランカーの例を次に示します。http://plnkr.co/edit/xt9ahm1dSLa0xVMxW5QA
アイテムのリスト($scope.items
)があり、ng-repeat
いくつかのフィルターを通過した後、を使用してアイテムを反復処理しています。フィルタはunderscore.js
groupBy
、各グループのプロパティを持つオブジェクトを返すために使用しています(下部の例を参照app.js
)。
フィルタを使おうとすると、10 $digest() iterations reached, Aborting!
例外が発生します。
なぜそれが起こっているのか、私はある程度の考えを持っています。フィルターは、フィルターを取得AngularJS
して再実行しようとする基になるオブジェクトのコンテンツを変更している必要があります。ただし、この変更がどこで行われているのかわかりません。
_.js
それは私がコントロールできない内部的なものですか?- フィルタで配列を処理する前に、特別な設定を行う必要がありますか?ある種
scope.$unwatch
? - なぜAngularjs自体
orderBy
がこれを引き起こさないのですか?