我使用ngx-translate-multi-http-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中,并在文件顶部添加了所有必需的import语句,则angular不会编译并返回以下错误消息:
src / app / app.module.ts中的ERROR(55,21):错误TS2304:找不到 名称为“ multiTranslateHttpLoaderFactory”。
是否有可能或真的必须在app.module.ts中定义工厂?
答案 0 :(得分:0)
在何处定义工厂或与此相关的任何其他函数都无关紧要。只要确保将其正确导入,即可app.module.ts
import {multiTranslateHttpLoaderFactory} from 'path/to/your/component'