0

我正在尝试以特定模块的角度 js 以编程方式解决服务,但我找不到正确的方法来做到这一点。

我知道使用 angular.injector(['NameOfModule']).get('NameOfService') 我可以检索服务。但是,使用 angular.injector 不会检索给定模块的注入器,而是创建一个新的注入器。这意味着当它检索服务时,由于它是一个新的注入器,它没有缓存服务,因此会创建一个新的。这意味着我将拥有几个相同的服务,因此它将不再是单例,这显然会导致问题。

我本质上想要做的是从特定模块中检索注入器,以便我可以尝试从该注入器中检索(缓存或未缓存的)服务。有谁知道如何实现这一目标?

4

1 回答 1

1

What i would suggest would be to inject the $injector service into the controller\service where you want to use it. This would return the injector that the app is using and not create a new injector as angular.injector does. See detailed explanation in this SO post Can't retrieve the injector from angular

于 2013-09-26T12:06:58.810 回答