Ошибка: $ rootScope: infdig Бесконечный цикл $ digest

0

Я с другом работал над веткой git, кроме мастера, с именем userSummary. Сегодня утром мой друг объединил ветку с мастером после внесения некоторых изменений, но не удалил ветку userSummary. Я изменил свою ветку с userSummary чтобы master и сделал потянуть на master. Теперь мое веб-приложение показывает некоторую ошибку в корневой области. И это ведет себя странно. Ошибка

Error: [$rootScope:infdig] http://errors.angularjs.org/1.4.8/$rootScope/infdig?p0=10&p1=%5B%5B%7B%22ms…2%2C%22oldVal%22%3A%22%5C%222016-10-13T09%3A31%3A36.003Z%5C%22%22%7D%5D%5D  

Я долгое время боролся с этим. Любая помощь будет оценена по достоинству.

Теги:

1 ответ

-1

Как видно из документов:

Эта ошибка возникает, когда модель приложения становится нестабильной, и каждый цикл $digest вызывает изменение состояния и последующий цикл $digest. Угловая обнаруживает эту ситуацию и предотвращает бесконечный цикл, чтобы браузер не реагировал.

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

$scope.$watch('foo', function() {
  $scope.foo = $scope.foo + 1;
});

Одной из распространенных ошибок является привязка к функции, которая генерирует новый массив каждый раз, когда он вызывается. Например:

<div ng-repeat="user in getUsers()">{{ user.name }}</div>

...

$scope.getUsers = function() {
  return [ { name: 'Hank' }, { name: 'Francisco' } ];
};

Поскольку getUsers() возвращает новый массив, Angular определяет, что модель различна для каждого цикла $ digest, что приводит к ошибке. Решение состоит в том, чтобы вернуть один и тот же объект массива, если элементы не изменились:

var users = [ { name: 'Hank' }, { name: 'Francisco' } ];

$scope.getUsers = function() {
  return users;
};

Максимальное количество разрешенных итераций цикла $digest контролируется с помощью TTL-настройки, которую можно настроить через $ rootScopeProvider.

  • 0
    Документы не смогли решить мою проблему, поэтому я пришел сюда. Извините, но это не помогает.
  • 0
    С информацией, которую вы нам дали, мы не можем помочь вам больше, чем это ..

Ещё вопросы

Сообщество Overcoder
Наверх
Меню