Ошибка бесконечного дайджеста Angularjs при использовании пользовательской сортировки с ng-repeat - PullRequest
0 голосов
/ 05 июля 2018

У меня есть собственный фильтр сортировки, подобный этому:

.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 из строки в число. Но когда я использую фильтр, я получаю

Uncaught Ошибка: [$ rootScope: infdig] 10 $ digest () достигнуты итерации. Aborting!

Но когда я использую функцию orderBy в angular, все в порядке, так что проблема внутри моей функции сортировки. Пожалуйста, помогите мне, потому что я сошел с ума, пытаясь понять, что я делаю не так

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...