3

ネストされた ng-repeat を使用して、データを html ページに表示しました。

それはエラーを投げています

Error: Error: 10 $digest() iterations reached. Aborting!
Watchers fired in the last 5 iterations

しかし、このエラーは私の機能には影響しません。私はこの問題の答えを探していましたが、正しい答えが得られなかったので、この質問をここに投稿しました。

json データ構造がこのエラーの原因かどうかはわかりませんでしたが、その構造を変更することはできません。

ここに私のサンプルjsonデータがあります

    //In controller
for (var i = 1; i <= 31; i++) {
$scope.daysofmonth.push({day:i});    // daysofmonth.day->1,2,3...
}
for(var j=0; j<$scope.daysofmonth.length; j++) {
$scope.daysofmonth[j].events = [     // creating 31 arrays for events
    {"name":"T", "count":0,"data":[{
         "startDate":"01/25/2013",
         "startTime":"00:00",
         "endDate":"01/26/2013",
         "endTime":"00:00",
         "type":"m",
         "status":"Not Started",
         "title":"Demo to Client",
         "description":"Application demo"
             }]},
    {"name":"I", "count":0,"data":[...]} // same as previous
    ];
 //left some of the business logic
}

    //In html file
    <div class="{{box | today:year+'-'+month+'-'+dayofmonth.day:dayofmonth.day}}"  ng-repeat="dayofmonth in daysofmonth" >
    <span class="days">{{ dayofmonth.day }}</span>
    <span class="events-list">
            <div ng-repeat="eve in dayofmonth.events" >   
                {{ eve.count + eve.name }} 
        </div>
    </span>
    </div>

このエラーの原因と解決方法を誰か教えてもらえますか?

4

3 に答える 3

1

その JSON は無効です。また、たとえばリピーターにバインドタグを配置しない限り、テンプレートは目に見えるものを出力しません{{ Company.Company.id }}

于 2013-01-29T04:26:56.633 に答える
0

他の人がすでに述べているように、データは無効です。有効な JSON である可能性がありますが、有効な JavaScript ではありません。データ構造に基づいてプランカーの例を作成し、有効な JavaScript にサニタイズしましたが、ネストされた ng の繰り返しにエラーはありません。

確かに、上記のコード スニペットで示したのは 2 つだけなので、2 つしかありません。しかし、これら 2 つで問題なく動作し、追加のネストされた繰り返しでも同様に問題なく動作するはずです。

http://plnkr.co/edit/z36YclsngdX9HozgdUkQ?p=preview

于 2013-02-03T18:19:32.353 に答える
0

これは、ng-repeat 内のビューでオブジェクトを初期化していることが原因である可能性があります。そのため、同様の問題がありました。このリンクをご覧ください

エラー: 10 回の $digest() 反復に達しました。中止します!動的ソート述語を使用

于 2013-01-30T07:44:05.993 に答える