Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用ng repeat自定义排序时出现Angularjs无限摘要错误_Angularjs - Fatal编程技术网

使用ng repeat自定义排序时出现Angularjs无限摘要错误

使用ng repeat自定义排序时出现Angularjs无限摘要错误,angularjs,Angularjs,我有如下自定义排序筛选器: .filter('sortScanDevs', function () { return function (devices, option, reverse) { if (option === 'ipAddress') { return devices.sort(function(a, b) { var first = reverse ? b : a; var second = reverse ? a : b;

我有如下自定义排序筛选器:

.filter('sortScanDevs', function () {
  return function (devices, option, reverse) {
    if (option === 'ipAddress') {
      return devices.sort(function(a, b) {
        var first = reverse ? b : a;
        var second = reverse ? a : b;

        return getIpAsNum(first.ipAddress) - getIpAsNum(second.ipAddress);
      });
    } else {
      return devices.sort(function(a, b) {
        var first = reverse ? b : a;
        var second = reverse ? a : b;

        return ('' + first.attr).localeCompare(second.attr);
      })
    }

    function getIpAsNum(ip) {
      return +ip.split('.').join('');
    }

  }
})
它和orderBy做的几乎一样,但如果排序选项是IP,我将IP从字符串解析为数字。但当我使用过滤器时,我会

未捕获错误:[$rootScope:infdig]10$digest()已达到迭代次数。 流产


但当我使用angular的orderBy函数时,一切都很好,所以问题就在我的排序函数中。请帮帮我,因为我已经失去了理解我做错了什么的想法。阅读。不,它根本不做orderBy做的事。orderBy做了正确的事情:返回原始数组的排序副本。您的代码将数组排序到位。