未捕获的错误:[$ rootScope:infdig]

时间:2014-11-13 11:05:22

标签: javascript angularjs angularjs-scope angularjs-ng-repeat

这是我的代码段

  <tbody ng-repeat="dtataOne in dataOnes()">
      <tr>
          <td>My Data</td>
          <td class="task-container ui-sortable" colspan="6" ng-model="dtataOne.MyModel" ui-sortable="sortableOptions" stafflastname="{{'Pup-Only'}}" data2="{{'999999'}}" task="{{100}}" data3="{{'No'}}">
            <a href="javascript:void(0);"  ng-repeat="tg in Getdata(data3)" ng-click="ShowData(tg)">{{tg.count}}</a>
          </td> 
     </tr>
 </tbody> 

控制器:

  $scope.Getdata = function(data3) {
        var datas = [];       
            data3.forEach(function (staff) {
                if (true) {
                    staff.tgs.forEach(function (tg) {
                        datas.push(tg);
                    });
                } 
        });

        $scope.data3s().forEach(function (datum) {
            if (datum.id === data3.id) {
                datum.MyModel = datas;
            }
        });
        return datas;
    };

在上面的代码片段中&#34; datum.MyModel = datas;&#34;我收到的错误信息如下所述

未捕获错误:[$ rootScope:infdig] http://errors.angularjs.org/1.2.13/ $ rootScope / infdig?p0 = 10&amp; p1 =%5B%

任何帮助都会挽救生命......

1 个答案:

答案 0 :(得分:2)

在每个摘要周期中,函数Getdata(data3)将被触发。在该函数中,您正在改变datum.MyModel,从而启动新的摘要周期。如果重复超过10次,则会出错。

简短建议:不要在ngRepeat表达式中使用函数。