一尘不染

如何从工厂发出事件

angularjs

如何从工厂或服务发出事件。我无法将$ scope注入工厂,因此无法发出事件。

我收到以下错误- Unknown provider: $scopeProvider <- $scope

谢谢,Murtaza


阅读 194

收藏
2020-07-04

共1个答案

一尘不染

您不能将控制器的作用域注入服务。您可以做的是:

  • 将范围实例作为参数传递给您的服务功能之一:

例如

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

   return {
      myFunction: function(scope) {
         scope.$emit(...);
         ...
      }
    };
});
  • 将$ rootScope注入到您的服务中:

例如

app.factory('MyService', ['$rootScope', function($rootScope) {

   return {
      myFunction: function() {
         $rootScope.$emit(...);
         ...
      }
    };
}]);
2020-07-04