javascript - Angular $摘要错误

标签 javascript angularjs

代码如下:plnkr.co

HTML:

<!DOCTYPE html>
<html ng-app="example">

<head>
    <script data-require="jquery@1.11.3" data-semver="1.11.3" src="http://code.jquery.com/jquery-1.11.3.min.js"></script>
    <script data-require="angular.js@1.2.28" data-semver="1.2.28" src="https://code.angularjs.org/1.2.28/angular.js"></script>
</head>

<body ng-controller="mainCtrl">
    <div ng-repeat="(key, val) in obj | groupPlayers">
        {{key}} = {{ val }}
    </div>
    <script type="text/javascript" src="script.js"></script>
</body>

</html>

脚本.js

(function() {
  angular
    .module('example', [])

    .controller('mainCtrl', function($scope) {
      $scope.obj = [
        { lastname: 'Jackson', firstname: 'George', score: 6},
        { lastname: 'Jackson', firstname: 'George', score: 10},
        { lastname: 'Smith', firstname: 'Michael', score: 8},
        { lastname: 'Smith', firstname: 'Amanda', score: 2},
        { lastname: 'Smith', firstname: 'Michael', score: 7},
        { lastname: 'Doe', firstname: 'John', score: 4},
      ];
    })

    .filter('groupPlayers', function() {
      return function(list, search) {
        var group = {};
        var key;

        angular.forEach(list, function(item) {
          key = item.lastname + ' ' + item.firstname;
          if(!group[key])
            group[key] = [];
          group[key].push(item.score);
        });

        return group;
      }
    })
  ;
})();

我想对对象的项目进行分组以按玩家显示得分。我创建了一个 Angular 过滤器来完成这项工作。显示正常,但我在控制台中出现错误,经过一个小时的分析后我没有发现问题!

错误:已达到 10 $digest() 迭代。中止!

谢谢

最佳答案

当使用<div ng-repeat="(key, val) in objFiltered">时和$scope.objFiltered = $filter('groupPlayers')($scope.obj);错误不再发生。

关于javascript - Angular $摘要错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33937595/

相关文章:

javascript - 将连接的结果集拆分为行

javascript - 如何在 Highcharts 中设置新数据然后反转为原始数据?

javascript - 在没有轮询或突变观察者的情况下检测 DIV 的高度何时发生变化

javascript - 非异步路径返回什么?

javascript - 在 angularjs $routeProvider 中动态加载 Controller

javascript - AngularJS ng-click 服务和 promise

javascript - AngularJS 如何在更改选项卡之前显示浏览器对话框保护

javascript - 使用 Angular 在鼠标悬停时显示兄弟元素

javascript - Node.js + 请求 - 保存远程文件并在响应中提供它

javascript - 使用 Cypress 在命令行中传递自定义 API key