[英]Propagating Scope Events from a Factory
我已经将$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.