簡體   English   中英

從工廠傳播范圍事件

[英]Propagating Scope Events from a Factory

$ rootScope。$ broadcast或$ rootScope。$ emit都不在我的工廠工作

我已經將$rootScope注入了工廠。 工廠返回此函數:

alertHook: function() {
  $rootScope.$broadcast('getRollups', 'finally');
}

我將該工廠注入指令中,並調用alertHook()函數。

我正在聽getRollups像這樣:

$scope.$on( 'getRollups', function( evt, args ) {
    console.log( args );
  });

瞧,什么也沒有記錄到控制台。 我也嘗試過$ emit而不是$ broadcast。

請幫助,在我發瘋之前:)

與工廠一起使用$rootScope.$broadcast

 angular.module("app",[]) .factory("factory", function($rootScope) { return { broadcast: broadcast }; function broadcast () { $rootScope.$broadcast("myEvent","from factory") } }) .controller("ctrl",function($scope,factory) { $scope.$on("myEvent", function(ev,args) { console.log(ev.name,args); }); $scope.clickMe = function() { factory.broadcast(); }; }) 
 <script src="//unpkg.com/angular/angular.js"></script> <body ng-app="app" ng-controller="ctrl"> <button ng-click="clickMe()">Click me</button> </body> 

有關更多信息,請參見

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM