angularjs – Angular.js如何将$scope注入$scope.on()的指令()?
发布时间:2020-12-17 17:38:12 所属栏目:安全 来源:网络整理
导读:对于我写的指令,如何在那里获得$scope所以我可以做$scope.$on()?我可以注入$rootScope,但我想使用$scope来捕获广播. angular.module('monitorApp').run(function($rootScope,$interval) { $interval(function(){ $rootScope.$broadcast('ONE_SEC'); },1000)
对于我写的指令,如何在那里获得$scope所以我可以做$scope.$on()?我可以注入$rootScope,但我想使用$scope来捕获广播.
angular.module('monitorApp') .run(function($rootScope,$interval) { $interval(function(){ $rootScope.$broadcast('ONE_SEC'); },1000); }); angular.module('monitorApp') .directive("countDown",[ 'sseHandler',function (sseHandler) { console.log(sseHandler.broadcastStamp.cpuResult); return { scope: { countFrom: "=" },link: function(scope,$scope){ scope.countFrom = sseHandler.broadcastStamp.cpuResult; $scope.$on('ONE_SEC',function(scope) { sseHandler.broadcastStamp.cpuResult--; }); } } }]); 更新:使用范围注入,我收到错误: angular.module('monitorApp') .directive("countDown",'$scope',function (sseHandler,$scope) { console.log(sseHandler.broadcastStamp.cpuResult); return { scope: { countFrom: "=" },function(scope,$scope) { sseHandler.broadcastStamp.cpuResult--; }); } } }]); 解决方法
你可以使用scope.$on,你不需要尝试注入$scope:
scope.$on('ONE_SEC',function() { //do stuff }); 示例:http://jsfiddle.net/G2r7G/ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |