я увидел кусок кода в контроллере недавно пошло что-то вроде:Deregistration обработчиков событий в угловом
.controller('foobar', ['$scope', '$rootScope', function($scope, $rootScope) {
var eventHandler = $rootScope.$on('some-event', function() {
...
});
// remove eventHandler
$scope.$on('$destroy', eventHandler);
}]);
Вопросов:
- выполняет функцию
eventHandler
«дерегистрация» на$scope
" s$destroy
мероприятие необходимо? - Если да, то будет выполнение функции дерегистрации на
$scope
«s$destroy
события был необходим, если'some-event'
был$on
$scope
вместо$rootScope
? - Как узнать, когда мне нужно выполнить функцию дерегистрации? Я понимаю, что отключение или разворачивание событий является общим для очистки в JavaScript, но какие правила я могу узнать, когда это сделать в Angular?
Любые советы по пониманию этого фрагмента/«дерегистрации» будут высоко оценены.