AngularJS Infinite $ digest循环错误

时间:2018-05-21 07:19:55

标签: angularjs angularjs-ng-repeat angularjs-infdig

我正在尝试使用ng-repeat填充div列表。我也在使用具有深度的框架(因此我可以浏览列表的元素)。

要设置此深度,我需要调用getTotalDepths函数,该函数使用tempIndex值检查列表项的当前索引。如果它们不同,则应增加总深度,然后返回totalDepths值。

运行后,发生以下错误(约25000次):

  

未捕获错误:[$ rootScope:infdig]`http://errors.angularjs.org/1.6.10/ $ rootScope / infdig?

HTML:

<div style="display: inline-block;" ng-repeat="item in items">
    <div class="item-list" focusable data-focusable-depth="{{getTotalDepths($index)}}">
        <img class="img-fluid" ng-src="{{item.picture}}" />
    </div>
</div>

控制器:

$scope.totalDepths = -1;
var tempIndex = -1;
var x;

$scope.getTotalDepths = function (index) {
    x = $scope.totalDepths;
    if (tempIndex != index) {
        tempIndex = index;
        x = $scope.totalDepths += 1;
    }
    return x;
}

注意:当我在此行中增加totalDepths时会发生错误:

x = $scope.totalDepths += 1;

非常感谢任何帮助!

0 个答案:

没有答案