单击按钮时广播事件:-
$scope.onButtonClick = function(){
$rootScope.$broadcast('onButtonClick');
}
并在另一个 Controller 中捕获事件:-
$rootScope.$on('onButtonClick',function(event){
alert("catched");
console.log(event);
});
但即使它只发射了一次,它也捕获了两次。这是为什么?
请您参考如下方法:
事实证明,由于 ng-controller
,多个 Controller 被实例化。 html 中的声明,也作为 ui-router
状态设置的一部分.
解决方案是删除其中一个声明。