Is it possible to set up a $watch
on an array of objects inside a service (I'd like the $watch
declaration itself to be inside the service)?
You can add any expression to the set of watches by injecting the $rootScope
and using a function a first argument to the $watch
method. Pseudo-code:
$rootScope.$watch(function() {
return //value to be watched;
}, function watchCallback(newValue, oldValue) {
//react on value change here
});
Don't forget about the third, Boolean argument to the $watch
method. You need to specify true
if you want to deep-watch an entire object for changes.