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

这可能是因为您正在 ng-repeat 内的视图中初始化对象。因此,我遇到了类似的问题。请看这个链接

错误:达到 10 次 $digest() 迭代。中止!使用动态 sortby 谓词

于 2013-01-30T07:44:05.993 回答
0

正如其他人已经说过的,数据是无效的。虽然它可能是有效的 JSON,但它不是有效的 javascript。我根据数据结构创建了一个 plunker 示例,将其清理为有效的 javascript,并且嵌套的 ng 重复没有任何错误。

当然,只有两个,因为这就是您在上面的代码片段中显示的全部内容。但它适用于这两个,并且应该同样适用于额外的嵌套重复。

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

于 2013-02-03T18:19:32.353 回答