请检查此jsFiddle。(代码基本上与您发布的代码相同,但是我使用元素而不是窗口来绑定滚动事件)。
据我所知,您发布的代码没有问题。当您在属性上创建更改循环时,通常会发生您提到的错误。例如,当您监视某个属性的更改,然后在侦听器上更改该属性的值时,就像这样:
$scope.$watch('users', function(value) { $scope.users = [];});这将导致错误消息:
未捕获的错误:达到10个$ digest()迭代。流产!
观察者在最近5次迭代中解雇了:…
确保您的代码没有这种情况。
更新:
这是你的问题:
<div ng-init="user.score=user.id+1">
您不应该在渲染过程中更改对象/模型,否则,它将强制执行新的渲染(并因此导致 循环 ,从而导致 “错误:达到10次$
digest()迭代。异常终止!” )。
如果要更新模型,请在Controller或Directive(而不是视图)上进行。angularjs文件建议不使用的
ng-init完全相同,以避免这些种情况:
在模板中使用ngInit指令(仅适用于玩具/示例应用,不建议用于实际应用)
这是一个带有工作示例的jsFiddle。



