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