Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript NullInjectorError:StaticInjectorError(AppModule)[TranslateService->;TranslateStore]_Javascript_Angular_Ngx Translate - Fatal编程技术网

Javascript NullInjectorError:StaticInjectorError(AppModule)[TranslateService->;TranslateStore]

Javascript NullInjectorError:StaticInjectorError(AppModule)[TranslateService->;TranslateStore],javascript,angular,ngx-translate,Javascript,Angular,Ngx Translate,我有以下结构 app.module.ts @ngModule({ imports: [ // other imports SharedModule, TranslateModule.forRoot({ loader: { provide: TranslateLoader, useFactory: createTranslateLoader, deps:

我有以下结构

app.module.ts

    @ngModule({
       imports: [
           // other imports
               SharedModule,
               TranslateModule.forRoot({ 
                   loader: { provide: TranslateLoader, useFactory: createTranslateLoader, deps: [HttpClient] } 
                })
       ],
       providers: [
           // other providers
           TranslateService
       ]
    })

    export class AppModule { }
@ngModule({
   declarations: [MyComponent]
   imports: [
       // other imports
           AnotherComponentModule,
           TranslateModule.forChild()
   ],
   exports: [MyComponent]
})

export class SharedModule { }
shared.module.ts

    @ngModule({
       imports: [
           // other imports
               SharedModule,
               TranslateModule.forRoot({ 
                   loader: { provide: TranslateLoader, useFactory: createTranslateLoader, deps: [HttpClient] } 
                })
       ],
       providers: [
           // other providers
           TranslateService
       ]
    })

    export class AppModule { }
@ngModule({
   declarations: [MyComponent]
   imports: [
       // other imports
           AnotherComponentModule,
           TranslateModule.forChild()
   ],
   exports: [MyComponent]
})

export class SharedModule { }
通过这种设置,我得到了错误

错误NullInjectorError:StaticInjectorError(AppModule)[TranslateService->TranslateStore]: StaticInjectorError(平台:核心)[TranslateService->TranslateStore]: NullInjectorError:没有TranslateStore的提供程序

从角度6迁移到角度8时开始出现错误

该错误不会出现在
另一个组件模块
中的组件中,因此它只出现在直接在
共享模块
中声明的组件中

当我将MyComponent放在自己的模块中并将其导入sharedModule时,事情就开始起作用了


我尝试将
TranslateService
TranslateStore
添加到
SharedModule
中,以及使用
MyComponent
添加到包含组件的模块中,但没有成功。

我也遇到了同样的问题

您需要在app.module中导入HttpClientModule

试试这个:

   @ngModule({
   imports: [
           HttpClientModule
           SharedModule,
           TranslateModule.forRoot({
            loader: {
              provide: TranslateLoader,
              useFactory: HttpLoaderFactory,
              deps: [HttpClient]
            }
          })
   ],
   providers: []
   })

export class AppModule { }

我也有同样的问题

您需要在app.module中导入HttpClientModule

试试这个:

   @ngModule({
   imports: [
           HttpClientModule
           SharedModule,
           TranslateModule.forRoot({
            loader: {
              provide: TranslateLoader,
              useFactory: HttpLoaderFactory,
              deps: [HttpClient]
            }
          })
   ],
   providers: []
   })

export class AppModule { }