我使用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(55,21)中的错误:错误TS2304:找不到名称'multiTranslateHttpLoaderFactory'。
是否有可能或我真的必须在app.module.ts中定义工厂???
在您定义工厂的位置或任何其他功能方面,这无关紧要。请确保正确导入它,位于app.module.ts
顶部的某处
import {multiTranslateHttpLoaderFactory} from 'path/to/your/component'