25

ボタンクリック時のイベントのブロードキャスト:-

$scope.onButtonClick = function(){
    $rootScope.$broadcast('onButtonClick');
}

そして、別のコントローラーでイベントをキャッチします:-

$rootScope.$on('onButtonClick',function(event){
  alert("catched");
  console.log(event);
});

しかし、1回しか発射しなかったのに2回キャッチしました。何故ですか?

4

3 に答える 3

42

ng-controllerhtml での宣言により、また の状態セットアップの一部として、複数のコントローラーがインスタンス化されたことが判明しましたui-router

解決策は、宣言の 1 つを削除することです。

于 2014-09-12T09:54:14.743 に答える