2016-05-29 14 views
0

Ich beobachte und Array, wenn es ändert sich dann ich eine Funktion

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

hier $ scope.aQuestions anrufen möchten, ist ein Array

aber wenn im dieses ausgeführt wird, Es zeigt newValue und oldValue als nicht definiert an.

+0

versuchen, '});' mit '}, true);' zu ersetzen (0 $$ watchGroup') –

+0

nein, es ist die gleiche –

Antwort

4

Sollte

$scope.$watch("aQuestions", 

Oder

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

Dies ist, weil Winkel eine Möglichkeit, immer wieder überprüft, was der Wert muss.

In Ihrer Version übergeben Sie einfach den Wert des Arrays (undefiniert). Wenn der Wert Winkel ändert weiß nicht, weil es keinen Bezug auf das Array hat.

+0

Als zusätzliche, verwenden Sie $ WatchCollection – sbedulin