2016-05-29 4 views
0

Я наблюдал и массив, если он изменяет, то я хочу, чтобы вызвать функцию

$scope.$watch(
      $scope.aQuestions, 
      function fncheckQuesCount(newValue, oldValue) { 
       debugger; 
       if (newValue === oldValue) { 
        return; 
       } 
       else fnGetQues(); 
      }); 

здесь $ scope.aQuestions массив

, но когда им это работает, он показывает newValue и oldValue как undefined.

+0

попробуйте заменить '});' с '}, true);' (Или использовать '$ watchGroup') –

+0

нет, его то же самое –

ответ

4

Должно быть

$scope.$watch("aQuestions", 

Или

$scope.$watch(function(){ 
     return $scope.aQuestions; 
}, 

Это потому, что угловой необходим способ, постоянно проверяя, что значение.

В вашей версии вы просто передаете значение массива (undefined). Когда значение изменяется угловым, оно не знает, потому что оно не имеет ссылки на массив.

+0

В качестве дополнения рассмотрите использование' $ watchCollection' – sbedulin

Смежные вопросы