からイベントリスナーを破壊:...私はこの工場を書いたAngularJSサービス
function myEvents($log, $rootScope) {
var service = {
broadcast: broadcast,
on: on
};
return service;
function broadcast(name, args) {
$log.debug('broadcast event: ' + name);
$rootScope.$broadcast(name, args);
}
function on(name, callback) {
var listener = $rootScope.$on(name, function(event, args) {
$log.debug('on event: ' + name);
callback(event, args);
});
}
}
私はイベントをブロードキャストする必要が毎回を使用するように、これはまた、私に私のコード内の各$on
と$broadcast
イベントをログに記録するチャンスを与えました。 問題は、$scope.$on('$destroy')
にアクセスして、$rootScope
リスナーを登録解除するにはどうすればよいかわかりません。
誰かに助言がありますか?代わりに、あなたのサービスの