Kuba Orlik Kuba Orlik - 1 month ago 21
AngularJS Question

$watch inside a service?

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)?

Answer

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.