2016-04-28 6 views
1

In AngularJS habe ich 6 bis 7 watchcollection, die foo1,2,3 ... 7 und alle von ihnen die gleiche Methode a() ansteuern. Gibt es einen Weg in AngularJS zu gruppiere all diese Beobachter, so dass ich nicht mehrere separate Uhrensammelblöcke schreiben muss.AngularJs: Wie man mehrere Sammlung mit watchcollection ansehen

$scope.$watchCollection(
         "foo1", 
         function(newValue, oldValue) { 
          methodA(); 
         } 
       ); 

$scope.$watchCollection(
         "foo2", 
         function(newValue, oldValue) { 
          methodA(); 
         } 
       ); 

............ und in ähnlicher Weise bis foo7

Antwort

0

Ja. watchGroup.

$scope.$watchGroup(['foo1', 'foo2', ..., 'foo7'], 
    function(newValues, oldValues, scope) { 
     methodA(); 
    } 
}); 
0

Bitte tun Sie, wie unten gezeigt.

Hier schönes Video über $watchCollection

$scope.$watchCollection('[foo1,foo2]', function() { 
     methodA(); 
    }); 
0

Ja, es ist möglich, sollte der Code wie folgt aussehen:

$scope.$watch('[foo1, foo2, foo3, foo4, foo5, foo6, foo7]', function() { 
    methodA(); 
}, true); 

Hope this geholfen.

Verwandte Themen