It sends $broadcast once from the rootScope, but the listener ($on) gets called twice.
The listener is in a controller and it uses $rootScope.$on
instead of $scope.$on
. Has someone had this problem?
edit
rootScope:
$rootScope.$broadcast('menuActivateAction' + item.event_name_postfix, item.event_args);
other Controller:
$rootScope.$on('menuActivateActionPublish', function(event) {});
Since you register your $on listener on $rootScope, it doesn't get destroyed with the controller and next time you init the controller it gets created again.
You should create your listener on controller scope
$scope.$on('menuActivateActionPublish', function(event) {});
Be careful you avoid two instances of the controller means two event listeners, which means the method gets executed twice !! ( example: using twice 'ng-controller' )
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With