我正在构建一个角质2应用程序,我使用了相当多的服务。我可以在他们之间注射,但我有一个我不能注射。
无法解析“语言”的所有参数(设置、TranslateService、Config、未定义)。确保所有参数都使用Inject修饰,或者具有有效的类型注释,并且“Language”使用可注入的修饰。
AppStorage
服务不希望被注入到Language
服务中(其他服务可以注入到Language
服务中)。我也尝试将AppStorage
注入到其他服务中(不起作用)。
问题是:AppStorage
提供者有什么问题?
直接链接到AppStorage提供程序文件 (因为它有点长)
发布于 2016-06-21 09:00:53
我在回答我自己的问题。不过,谢谢大家的暗示。问题是循环依赖注入。我试图将AppStorage
注入Language
,但AppStorage
注射了Parse
,后者注入了Language
。我刚刚从Language
中删除了Parse
注入,一切都开始工作了。
发布于 2016-06-20 04:42:29
此错误通常发生在您不使用装饰服务或不提供服务时。确保您在分层树结构的顶部添加了一行,结构提供了服务:provide(AppStorage, {useClass : AppStorage})
。这将生成一个AppStorage实例,并向分层树中的每个组件提供给您的所有组件、指令和服务。要获得更多信息,只需查看以下链接:https://angular.io/docs/ts/latest/guide/hierarchical-dependency-injection.html
https://stackoverflow.com/questions/37890249
复制相似问题