NullInjectorError: StaticInjectorError (AppModule) [TranslateService -> TranslateStore] - PullRequest
0 голосов
/ 27 марта 2020

У меня есть следующая структура

app.module.ts

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

    export class AppModule { }

shared.module.ts

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

export class SharedModule { }

При этой настройке я получаю ошибка

ОШИБКА NullInjectorError: StaticInjectorError (AppModule) [TranslateService -> TranslateStore]: StaticInjectorError (Platform: core) [TranslateService -> TranslateStore]: NullInjectorError: Нет поставщика для TranslateStore!

Ошибка начала появляться при миграции с Angular 6 на Angular 8.

Ошибка не появляется в компонентах внутри этого AnotherComponentModule, так что почему-то это только в компонентах, объявленных непосредственно в SharedModule.

Когда я помещаю MyComponent в его собственный модуль и импортирую его в sharedModule, все начинает работать.

Я попытался добавить TranslateService и TranslateStore к SharedModule, а также модуль, содержащий компонент, используя MyComponent, но он не работал.

...