Sie können unter einigen Variationen zu finden, wie $ watchCollection
http://jsbin.com/IYofiPi/4 verwenden - working example here.
Überprüfen Sie Ihre console.log, um zu sehen, dass das Ereignis ausgelöst wird.
Zusehen Artikel eines Array
$scope.cities = ['Salvador', 'London', 'Zurich', 'Rio de Janeiro']; //Array
$scope.$watchCollection('cities', function(newValues, oldValues) {
console.log('*** Watched has been fired. ***');
console.log('New Names :', newValues);
});
Beobachten Eigenschaften eines Objekts
$scope.city = {
name: 'London',
country: 'England',
population: 8.174
}
$scope.$watchCollection('city', function(newValues, oldValues) {
console.log('*** Watched has been fired. ***');
console.log('New Names :', newValues);
});
eine Liste von Bereichen Variablen zuschauen ($ scope.firstPlanet, $ scope.secondPlanet)
$scope.firstPlanet = 'Earth';
$scope.secondPlanet = 'Mars';
$scope.$watchCollection('[firstPlanet, secondPlanet]', function(newValues){
console.log('*** Watched has been fired. ***');
console.log('New Planets :', newValues[0], newValues[1]);
});
Ausgehend von AngularJS 1.3 gibt es eine neue Methode namens $watchGroup zum Beobachten einer Menge von Ausdrücken.
-1: Dies ist nicht das, was das OP verlangt hat. Ihr Snippet beobachtet die $ scope.names für Änderungen. Bitte überprüfen Sie die Frage sorgfältig. Er wollte mehrere ähnliche Uhren zu einem Uhrausdruck "zusammenpacken". dluz 's letztes Fragment (Beobachtung einer Liste von Scope-Variablen) ist die nächste Sache, weil es ein Ausdruck ist, der zwei Scope-Variablen "beobachten" würde. – quetzalcoatl