Javascript 如何在模块配置中使用Angular.js服务实例并保持相同的实例

Javascript 如何在模块配置中使用Angular.js服务实例并保持相同的实例,javascript,angularjs,angularjs-service,Javascript,Angularjs,Angularjs Service,我试图在我的应用程序模块配置中使用一项服务,一项小研究指出了这一点 这工作得很好,只是当服务加载到控制器中时,它不再是以前由注入器加载的实例 有人知道如何获得相同的实例吗?还是有更好的方法 我创建了一个plnkr来显示行为:来自作为单例的-Services 所有角度服务都是应用程序单例。这意味着 每个喷油器只有一个给定服务的实例。自从 角度是对全局状态的致命过敏,有可能造成 多个喷油器,每个喷油器都有自己的给定服务实例,但 这是很少需要的,除非在测试中使用了此属性 至关重要 这意味着如果对单个注

我试图在我的应用程序模块配置中使用一项服务,一项小研究指出了这一点

这工作得很好,只是当服务加载到控制器中时,它不再是以前由注入器加载的实例

有人知道如何获得相同的实例吗?还是有更好的方法

我创建了一个plnkr来显示行为:

来自作为单例的-Services

所有角度服务都是应用程序单例。这意味着 每个喷油器只有一个给定服务的实例。自从 角度是对全局状态的致命过敏,有可能造成 多个喷油器,每个喷油器都有自己的给定服务实例,但 这是很少需要的,除非在测试中使用了此属性 至关重要

这意味着如果对单个注入器执行injector.get,它将始终像这样返回单例

var injector = angular.injector(['app.services']);
var singletonService1 = injector.get('singletonService');
var singletonService2 = injector.get('singletonService');
console.log(singletonService1 === singletonService2) // prints true
但是,如果同时将其注入控制器的另一个实例,将创建一个全新的实例


希望能有所帮助。

你应该检查一下-@callmehiphop-yap,但我真的需要它在我的配置中,因为我需要它来正确配置我的路线。。实际上,我们的目标是能够像这样使用它(使用ui路由器+身份验证,解析功能调用我的安全服务)嗯,我没有注意到每个注入器的
部分,所以我如何访问用于解决控制器依赖性的注入器,而不是创建一个新的注入器?