繁体   English   中英

Angular2:无法将服务注入另一个服务

[英]Angular2 : Unable to Inject a service into another service

我正在构建一个Angular 2应用程序,并且使用了很多服务。 我可以在它们之间注入那些,但是我有一个我不能注入。

无法解析“语言”的所有参数(设置,TranslateService,配置,未定义)。 确保所有参数都用Inject修饰或具有有效的类型注释,并且'Language'用Injectable修饰。

不想将AppStorage服务注入Language服务(可以将其他服务注入Language服务)。 我也曾尝试将AppStorage注入其他服务(不起作用)。

问题是: AppStorage provider有什么问题?

直接链接到AppStorage提供程序文件 (因为它很长)

我在这里回答我自己的问题。 谢谢大家的提示。 问题是循环依赖注入。 我试图将AppStorage注入Language但是AppStorage注入了Parse ,后者注入了Language 我刚刚从Parse删除了Language注入,一切开始正常工作。

当您不装饰服务或不提供服务时, 通常会发生此错误。 确保在提供服务的层次树结构的顶部添加了一行provide(AppStorage, {useClass : AppStorage}) 这将生成一个AppStorage实例,并向层次结构树内的每个组件提供所有组件,指令和服务。 有关更多信息,请查看以下链接: https : //angular.io/docs/ts/latest/guide/hierarchical-dependency-injection.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM