我正在构建一个Angular 2应用程序,我使用了很多服务。我可以在他们之间注射,但我有一个我无法注射。
无法解析“语言”的所有参数(设置,TranslateService,配置,未定义)。确保所有参数都使用Inject进行修饰或具有有效的类型注释,并且“Language”使用Injectable进行修饰。
AppStorage
服务不希望被注入Language
服务(其他服务可以注入Language
服务。)我也尝试将AppStorage
注入其他服务(不起作用)。
问题是:AppStorage
提供商有什么问题?
答案 0 :(得分:1)
我在这里回答我自己的问题。谢谢大家的暗示。问题是循环依赖注入。我尝试将AppStorage
注入Language
但AppStorage
注入注入Parse
的{{1}} Language
。我刚从Language
删除了Parse
注入一切开始工作。
答案 1 :(得分:0)
如果您没有装饰服务或提供,则会出现此错误 。
确保在提供服务的分层树结构的顶部添加了一行:
provide(AppStorage, {useClass : AppStorage})
。
这将生成一个AppStorage实例,并为分层树中的每个组件提供所有组件,指令和服务。
有关详细信息,请查看以下链接:https://angular.io/docs/ts/latest/guide/hierarchical-dependency-injection.html