javascript - angular.injector 在每次调用时返回新的服务实例

标签 javascript angularjs

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/

相关文章:

node.js - Blob 保存为 [object Object] Nodejs

angularjs - 使用 ui-router 解析延迟加载 angularjs Controller

javascript - 通过 Foundation Framework 有条件地提供 javascript

javascript - 根据字体大小在 Canvas 中垂直居中文本

javascript - 迭代 react 嵌套对象

javascript - 如何从 AngularJS 中的一个服务响应调用其他服务?

angularjs - 如何在不使用 Jasmine 特定的 inject() 的情况下将依赖项注入(inject) AngularJS Controller 测试

Javascript 查询字符串无法在移动设备上运行

c# - 如何在 AJAX 回调(回发)期间生成 JavaScript,然后在浏览器上执行它?

javascript - AngularJS 忽略监视对象中的键或覆盖 $watch 监听器