У меня есть вотчер, который следит за изменениями объекта, и если объект был изменен, то он его обновляет. Почему то при смене роута я получаю ошибку, после чего приложение виснет и остается только закрыть страницу:
Uncaught Error: [$rootScope:infdig] 10 $digest() iterations reached. Aborting!
Вот сам вотчер:
$scope.$watch("project", function (oldvalue, newvalue) {
if (oldvalue && newvalue) {
var change = oldvalue.trucks.length != newvalue.trucks.length
if (!change) {
for (var i = 0; i < oldvalue.trucks.length; i++) {
var change = change|| oldvalue.trucks[i].name != newvalue.trucks[i].name
}
}
if (change) {
// //console.log('change in trucks')
$scope.setProjectSorted();
}
compareTrucks(oldvalue, newvalue);
$rootScope.needToSave = true;
}
}, true)
Я думаю что проблема в том, что $scope.project обновляется в вотчере и это провацирует последущие обновления что приводит к этой ошибке. Что можно сделать в данном случае?