在其他控制器中未收到角度广播事件

时间:2018-08-08 06:37:09

标签: javascript angularjs scope broadcast

标题控制器

\b(?:(?:31(\/|-|\.)(?:0?[13578]|1[02]|(?:Jan|Mar|May|Jul|Aug|Oct|Dec)))\1|(?:(?:29|30)(\/|-|\.)(?:0?[1,3-9]|1[0-2]|(?:Jan|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec))\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:29(\/|-|\.)(?:0?2|(?:Feb))\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))\b|\b(?:0?[1-9]|1\d|2[0-8])(\/|-|\.)(?:(?:0?[1-9]|(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep))|(?:1[0-2]|(?:Oct|Nov|Dec)))\4(?:(?:1[6-9]|[2-9]\d)?\d{2})\b

地图控制器

mapsModule = angular.module('maps-module');
mapsModule.controller('psHeaderCtrl', function($scope, $rootScope, MESSAGES, 
   psHttpSrvc){
   $scope.addAlertPin = function(){
     console.log('broadcast event');
     $scope.$broadcast('event1', { data:  'asdasdasasda'});
   }

});

Header.html

map = angular.module('maps-module');
map.controller('map_controller',function 
  ($scope,$rootScope,$timeout) {
    $scope.$on('event1', function(event, args){
        console.log('asdasdasd');
    });
});

包括所有文件。 Angular工作正常,但未收到广播事件。

1 个答案:

答案 0 :(得分:1)

尝试使用$rootScope广播事件:

$scope.addAlertPin = function(){
   console.log('broadcast event');
   $rootScope.$broadcast('event1', { data:  'asdasdasasda'});
}