通过使用ng2-translation软件包,在angular2中使翻译动态化 我得到的错误如下:未处理的Promise拒绝:没有TranslateService的提供者!
zone.js:388Unhandled Promise rejection: No provider for TranslateService! ; Zone: <root> ; Task: Promise.then ; Value: NoProviderError {_nativeError: Error: No provider for TranslateService!
at NoProviderError.BaseError [as constructor] (http://l…, keys: Array[1], injectors: Array[1]} Error: No provider for TranslateService!
at NoProviderError.BaseError [as constructor] (http://localhost:4200/main.bundle.js:7039:34)
at NoProviderError.AbstractProviderError [as constructor] (http://localhost:4200/main.bundle.js:43876:16)
at new NoProviderError (http://localhost:4200/main.bundle.js:43907:16)
at ReflectiveInjector_._throwOrNull (http://localhost:4200/main.bundle.js:62960:19)
at ReflectiveInjector_._getByKeyDefault (http://localhost:4200/main.bundle.js:62988:25)
at ReflectiveInjector_._getByKey (http://localhost:4200/main.bundle.js:62951:25)
at ReflectiveInjector_.get (http://localhost:4200/main.bundle.js:62760:21)
at AppModuleInjector.createInternal (AppModule.ngfactory.js:263:72)
at AppModuleInjector.NgModuleInjector.create (http://localhost:4200/main.bundle.js:44784:76)
at NgModuleFactory.create (http://localhost:4200/main.bundle.js:44769:18)
答案 0 :(得分:6)
我知道这个问题现在已经很老了,但是对于任何访问此页面搜索相同问题的人,请仔细检查您是否已在 @NgModule 提供商<中添加了该服务/ strong> array。
就我而言,我想要导入自定义服务&#39; AuthGuard &#39;在一个模块中,并且不断收到错误&#39; 未处理的承诺拒绝:没有AuthGuard服务提供商&#39;。我对此问题的解决方法是 -
@NgModule({
declarations: [
TicketListComponent,
TicketDetailComponent
],
imports: [
CommonModule,
RouterModule.forChild(appRoutes)
],
providers: [
AuthGuard
]
})
答案 1 :(得分:1)
我遇到了类似的问题,结果是因为我导入的是'CommonModule'而没有在我的app.module.ts中导入'BrowserModule'。
我删除了'CommonModule'并将'BrowserModule'放入导入列表中,它修复了问题....
答案 2 :(得分:0)
将TranslateModule.forRoot()
添加到根NgModule中的imports:
部分。