最佳答案
我有以下代码,重复和显示用户的名称和他的分数:
<div ng-controller="AngularCtrl" ng-app>
<div ng-repeat="user in users | orderBy:predicate:reverse | limitTo:10">
<div ng-init="user.score=user.id+1">
{{user.name}} and {{user.score}}
</div>
</div>
</div>
以及相应的角度控制器。
function AngularCtrl($scope) {
$scope.predicate = 'score';
$scope.reverse = true;
$scope.users = [{id: 1, name: 'John'}, {id: 2, name: 'Ken'}, {id: 3, name: 'smith'}, {id: 4, name: 'kevin'}, {id: 5, name: 'bob'}, {id: 6, name: 'Dev'}, {id: 7, name: 'Joe'}, {id: 8, name: 'kevin'}, {id: 9, name: 'John'}, {id: 10, name: 'Ken'}, {id: 11, name: 'John'}, {id: 1, name: 'John'}, {id: 2, name: 'Ken'}, {id: 3, name: 'smith'}, {id: 4, name: 'kevin'}, {id: 5, name: 'bob'}, {id: 6, name: 'Dev'}, {id: 7, name: 'Joe'}, {id: 8, name: 'kevin'}, {id: 9, name: 'John'}, {id: 10, name: 'Ken'}]
}
当我运行上面的代码时,我在控制台中得到了 错误: 到达了10个 $享受()迭代。正在中止!错误。
我已经为同样的 Jsfiddle创建了。
排序谓词仅在 ng-repeat 内部初始化,并且对对象的数量应用了限制。所以我觉得把排序和限制放在一起是犯错的原因。
如果 $scope.return 为 false (得分的升序) ,则它不会出错。
有人能帮我弄明白这里出了什么问题吗? 非常感谢你的帮助。