$watchCollection würde man intuitiv so verwenden (Quelle):
1 |
$scope.$watchCollection(['data.myA', 'data.myB', 'data.myC'], function(newValues, oldValues) {...}) |
Das funktioniert aber nicht. Korrekt wäre ein großer String (Quelle):
1 |
$scope.$watchCollection('[data.myA, data.myB, data.myC]', function(newValues, oldValues) {...}) |
Darüber hinaus gibt es einen Bug in v1.2.14 (und in gewissen Szenarien auch darüber hinaus), bei dem newValues[i] immer gleich oldValues[i] ist. Der Fix dafür hat aber ebenfalls einen Bug: Die Dependecies werden nicht korrekt injected. Folgende Änderungen waren nötig:
1 2 3 4 5 6 7 |
// line 5: .config(function($provide){ .config(['$provide', function($provide){ // line 11: $provide.decorator('$rootScope', function($delegate, $parse) { $provide.decorator('$rootScope', ['$delegate', '$parse', function($delegate, $parse) { // line 142, 144: close Arrays |
Ein Pull Request ist nicht möglich, aber vllt zieht sich der Autor das auf meinen Kommentar hin.
Schlussendlich: Nicht vergessen, die Decorators in die App zu injecten:
1 |
angular.module('myModule', [..., 'Decorators']); |