我created a simple plunk that demonstrates the issue .
我需要从外部调用服务。
当我使用时
angular.injector(['ng', 'MyModule']).get('MyService')
我似乎每次调用它时都会得到一个新实例,或者至少表现得如此。在该 plunk 中,请注意“增量”按钮如何调用服务的同一实例,而不是“通过注入(inject)器调用”的工作方式。
我已经敲了几个小时的头,尝试了各种事情,并阅读了许多明显相关的帖子,但无济于事。如有任何帮助,我们将不胜感激。
最佳答案
改变
angular.injector(['ng', 'MyModule']).get('MyService')
至
angular.element('[ng-app]').injector().get('MyService').inc();
第一个创建新注入(inject)器的实例。 Angular 中的每个注入(inject)器都有自己的服务和工厂实例。第二个获取注入(inject)器的现有实例。
此外,要使用 angular.element 选择 DOM 元素,需要包含 jQuery。 Here是修改后的 plunk。
关于javascript - angular.injector 在每次调用时返回新的服务实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36440406/