Как сделать инъекцию в импорт угловых модулей - PullRequest
0 голосов
/ 05 июля 2019

Я импортирую настраиваемый модуль из внешней библиотеки, например:

@NgModule({
  imports: [ThirdPartyModule.forRoot(MY_CONFIG)]
})

Проблема в том, что MY_CONFIG не является статичным и использует сервис для определения его значения, поэтому я бы использовалфабрика для создания конфигурации модуля следующим образом:

@Injectable
class ConfigFactory {
  constructor(private configService: ConfigService){}

  public config(){
    return {
      someconfigvalue: this.configService.buildSomeConfigValue()
    };
  }
}

В этом случае я должен переписать импорт как

@NgModule({
  imports: [ThirdPartyModule.forRoot(configFactory.config())]
})

Но я не знаю, как внедрить фабрику конфигурации.

Я знаю, что если бы у меня была такая ситуация с провайдером, я мог бы использовать провайдера фабрики.

Есть ли что-то похожее для импорта модуля?Могу ли я использовать фабрику для импорта модуля?Или есть другое решение этой проблемы?

PS обратите внимание, что я не могу изменить код для ThirdPartyModule.

...