私の Angular コントローラーの 1 つの内部には、次のようなものがあります。
// controller A
$rootScope.$on("myEventFire", function(event, reload) {
someAction();
});
別のコントローラーでは、これがあります:
// controller B
$scope.openList = function(page) {
$rootScope.$broadcast('myEventFire', 1);
}
さて、これは単一ページのアプリです。最初にコントローラー A に移動してこのイベントをトリガーしようとすると、someAction()が 1 回実行されます。離れてコントローラー A に戻って同じことをすると、someAction()が 2 回実行されます。もう一度やると、それが 3 回発生します。ここで何が間違っていますか?