Я могу настроить $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();
};
Просто добавление, которое, как я думал, было бы круто, если бы кто-нибудь еще знал...