未处理的承诺拒绝:没有TranslateService的提供者

时间:2016-11-02 11:29:40

标签: angular translation

通过使用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)

3 个答案:

答案 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:部分。