Метод из $ scope. $ Watch выполняет дважды AngularJS? [Дубликат]

1
задан Markus 20 May 2015 в 17:31
поделиться

2 ответа

Я исправил эту проблему следующим образом:

$rootScope.$watch('someValue', function (){
                /* rewrite into a new scope */
                $scope.someValue = $rootScope.someValue;
            });
 $scope.$watch('someValue', function (){/*To do*/});
0
ответ дан Junior 15 August 2018 в 17:24
поделиться

Каждые часы будут срабатывать при запуске цикла $ digest. Что вам нужно сделать, это проверить новое значение по сравнению со старым значением.

$rootScope.$watch('newChat', function (newValue, oldValue) {
    if(newValue !== oldValue){
        /*do stuff*/
    }
});
3
ответ дан MBielski 15 August 2018 в 17:24
поделиться
  • 1
    проблема в том, что в обоих случаях выполнения newVal и oldVal точно совпадают. Я просто дважды проверил это – Markus 20 May 2015 в 17:47
  • 2
    Да, я сталкиваюсь с той же проблемой. Я добавил условие для возврата, если значения такие же, но все же ... он срабатывает дважды. – Thilak Rao 18 June 2015 в 08:02
Другие вопросы по тегам:

Похожие вопросы: