Переместить фабричный метод из AppModule в AppComponent в Angular 7 - PullRequest
0 голосов
/ 06 марта 2019

Я использую ngx-translate-multi-http-loader loader для создания определенных переводов. Документация требует, чтобы эта фабрика была создана в app.module.ts:

export function multiTranslateHttpLoaderFactory(http: HttpClient) {
  return new MultiTranslateHttpLoader(http, [
    {prefix: './assets/i18n/default/', suffix: '.json'},
    {prefix: './assets/i18n/bc/', suffix: '.json'}
  ]);
}

Эта фабрика настроена внутри массивов импорта следующим образом:

TranslateModule.forRoot({
  loader: {
    provide: TranslateLoader,
    useFactory: multiTranslateHttpLoaderFactory,
    deps: [HttpClient]
  }
}),

Мне нужен способ поместить фабрику в мой app.component.ts, потому что мне все еще нужно запрограммировать некоторую логику и не хочу делать это в моем app.module.ts.

Но если я переместлю метод в свой app.component.ts и сделаю все необходимые операторы импорта в верхней части файла, angular не скомпилируется и вернет это сообщение об ошибке:

ОШИБКА в src / app / app.module.ts (55,21): ошибка TS2304: не удается найти имя 'multiTranslateHttpLoaderFactory'.

Есть ли возможность или мне действительно нужно определить фабрику в app.module.ts ???

1 Ответ

0 голосов
/ 06 марта 2019

Это действительно не должно иметь значения, где вы определяете свою фабрику, или любую другую функцию в этом отношении. Просто убедитесь, что импортировали его правильно, где-то в верхней части app.module.ts

import {multiTranslateHttpLoaderFactory} from 'path/to/your/component'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...