angularjs : any idea what this error means?

Refresh

November 2018

Views

164 time

0

Hi I am getting this error :

https://docs.angularjs.org/error/$rootScope/infdig?p0=10&p1=%5B%5B%22fn:%20parentValueWatch;%20newVal:%201;%20oldVal:%20undefined%22,%22inputValue;%20newVal:%201;%20oldVal:%20undefined%22%5D,%5B%22fn:%20parentValueWatch;%20newVal:%20undefined;%20oldVal:%201%22,%22inputValue;%20newVal:%20undefined;%20oldVal:%201%22%5D,%5B%22fn:%20parentValueWatch;%20newVal:%201;%20oldVal:%20undefined%22,%22inputValue;%20newVal:%201;%20oldVal:%20undefined%22%5D,%5B%22fn:%20parentValueWatch;%20newVal:%20undefined;%20oldVal:%201%22,%22inputValue;%20newVal:%20undefined;%20oldVal:%201%22%5D,%5B%22fn:%20parentValueWatch;%20newVal:%201;%20oldVal:%20undefined%22,%22inputValue;%20newVal:%201;%20oldVal:%20undefined%22%5D%5D

Error: $rootScope:infdig Infinite $digest Loop

10 $digest() iterations reached. Aborting! Watchers fired in the last 5 iterations: [["fn: parentValueWatch; newVal: 1; oldVal: undefined","inputValue; newVal: 1; oldVal: undefined"],["fn: parentValueWatch; newVal: undefined; oldVal: 1","inputValue; newVal: undefined; oldVal: 1"],["fn: parentValueWatch; newVal: 1; oldVal: undefined","inputValue; newVal: 1; oldVal: undefined"],["fn: parentValueWatch; newVal: undefined; oldVal: 1","inputValue; newVal: undefined; oldVal: 1"],["fn: parentValueWatch; newVal: 1; oldVal: undefined","inputValue; newVal: 1; oldVal: undefined"]]

I am having tough time recognizing this issue on which watcher or why suddenly it's throwing error. it was working fine before yesterday.

Any help is much appreciated.

1 answers

4

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

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

$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()возвращает новый массив, Угловой определяет , что модель отличается от каждого $ переваривать цикл, что приводит к ошибке. Решение состоит в том, чтобы вернуть тот же объект , массив , если элементы не изменились:

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

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

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

посетить для получения более подробной информации https://docs.angularjs.org/error/$rootScope/infdig