/ / Инжектирайте @ngrx магазина като зависимост от фабричен доставчик в ъглово - ъглово, ngrx

Инжектирайте магазина @ngrx като зависимост от фабричен доставчик в ъглово - ъглово, ngrx

Използвам функционална фабрика в app.module на приложението ми ъглово, за да инициализирам една услуга. Нещо като това

export function analyticsServiceFactory() {
return ConfigService.env === "development" ? new AnalyticsDevService() : new AnalyticsService();
}
...
const providers = [
...
{ provide: AnalyticsService, useFactory: analyticsServiceFactory }
];

Това работи добре досега. Проблемът идва, защото сега трябва да инжектирам държавата (@ngrx) като зависимост от една от тези услуги. Как да направя това?

Знам, че мога да добавям зависимости от фабричния доставчик, но как да добавя държавата? Това ли е възможно?

Също така моят магазин и моята analyticsServiceFactory са дефинирани в различни модули, което го прави още по-трудно.

Някакви идеи? Благодаря.

Отговори:

1 за отговор № 1

Можете да изискате зависимости в "deps" масив на определението за доставчик, то просто ги приемете като параметри във фабричната функция:

{ provide: FooService, useFactory: (store: Store<AppState>, httpClient: HttpClient) => { return new FooService(httpClient, store); }, deps: [Store, HttpClient] }