如何以发射从一个工厂事件 [英] how to emit events from a factory

查看:148
本文介绍了如何以发射从一个工厂事件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我如何能发出从工厂或服务事件。我无法注入$范围进厂,从而无法发出事件。

How can I emit events from a factory or service. I am unable to inject $scope into the factory, thus unable to emit events.

我碰到下面的错误 - 未知提供商:$ scopeProvider< - $范围

I get the following error - Unknown provider: $scopeProvider <- $scope

谢谢,
穆尔塔扎

Thanks, Murtaza

推荐答案

您不能注入控制器的范围到服务。你可以做的是:

You cannot inject a controller's scope into a service. What you can do is:


  • 的范围实例作为参数传递到你的服务功能之一:

例如

app.factory('MyService', function() {

   return {
      myFunction: function(scope) {
         scope.$emit(...);
         ...
      }
    };
});


  • 注入$ rootScope到你的服务:

  • 例如

    app.factory('MyService', ['$rootScope', function($rootScope) {
    
       return {
          myFunction: function() {
             $rootScope.$emit(...);
             ...
          }
        };
    }]);
    

    这篇关于如何以发射从一个工厂事件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆