Works by

Ren's blog

@rennnosuke_rk 技術ブログです

【AngularJS】$rootScopeに対してイベントリスナを登録・解除する

メモ。

Angularでは`$rootScope.bind`経由でスクロールやページ遷移等に対するイベントリスナーを登録することができます。

 

angular.module('myApp', [])
.controller('MyController', ['$rootScope', function($rootScope){
  $rootScope.bind('scroll', function(){
    // on scroll...
  });
}]);          

リスナーの解除は`bind()`の返戻値を関数コールすることで行うことができます。

angular.module('myApp', [])
.controller('MyController', ['$rootScope', function($rootScope){
  let removeListener = $rootScope.bind('scroll', function(){
    // on scroll...
  });
  // リスナー解除
  let removeListener();
}]);