【发布时间】:2019-07-28 03:33:24
【问题描述】:
我使用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 中定义工厂???
【问题讨论】:
-
你的工厂方法会在文件
app.component.ts甚至组件中吗? -
嗯,我只是不知道你的意思。我想把工厂搬到app.component.ts,所以我的AppModule是空的。
-
您能用您当前使用的代码更新问题吗? (
app.component.ts中的工厂以及如何在模块中使用它)
标签: javascript angular typescript angular-components angular-module