Я могу настроить $watch в области AngularJS, чтобы получать уведомления, когда интересующее меня выражение изменилось. Но как я перестаю смотреть, как только потеряю интерес?
Как остановить просмотр в AngularJS?
Ответ 1
При вызове $watch возвращается функция, которая отменяет регистрацию связанного выражения.
Например, просмотр переменной foo изменяется только один раз:
var unregister = $scope.$watch('foo', function () {
  // Do something interesting here ...
  unregister();
});
Надеюсь, что поможет: -)
Ответ 2
В качестве дополнительного комментария, но не ответа - это тот же принцип для убийства прослушивателей событий.
var unregister = $rootScope.$on("listen-for-something-cool", function($event, params) {
   //Do cool stuff with params, then kill it
   unregister();
};
Просто добавление, которое, как я думал, было бы круто, если бы кто-нибудь еще знал...