2016-05-11 4 views
0

の反復ごとにコレクションを変更します。もともと、$firebaseArrayには、すべての日のすべてのアイテムのリストがあります。しかし、私はメソッドを呼び出すたびにそれをフィルタリングします。は、私がどのように見えるngのリピートを持ってngRepeat

Error: $rootScope:infdig Infinite $digest Loop. 
10 $digest() iterations reached. Aborting! 

この結果はどのようにして動的に$firebaseArrayので、私は正しいデータを反復処理することができます変更できますか?

答えて

1

$filterサービスのご利用をおすすめします。 $ firebaseArrayはあなたが単に次のようにそれを行うことができますでフィルタしようとしている特定のプロパティを持っている場合:

<div ng-repeat="day in days"> 
    <div ng-repeat="item in $firebaseArray | filter:{matchingProperty: day}:true"></div> 
</div> 

は、より詳細な例については、このplnkrを参照してください。

JS

app.controller('MainCtrl', function($scope) { 
    $scope.days = [1,2,3,4,5,6,7]; 
    $scope.stuff = [{day: 1}, {day: 1}, {day: 2}, {day: 2}, {day: 3}, {day: 3}, {day: 4}, {day: 5}, {day: 6}, {day: 7}]; 
}); 

HTML

<div ng-repeat="day in days"> 
     Day {{$index+1}} Matches: 
     <div ng-repeat="s in stuff | filter:{day: day}:true"> 
     {{s.day}} 
     </div> 
    </div> 

あなたは、単にここでどのようにgood exampleだ...そして、あなたは常に独自のフィルタを構築することができ、プロパティに一致させることができない場合それをする。

+0

はい! $ firebaseArrayのフィルタリングは完全に機能しました。ありがとう! – Sunny

+0

素晴らしい!喜んで助けてください。 – sourdoughdetzel

関連する問題