dev*_*ler 9 javascript angular-cli ngx-translate angular
我在我的项目中使用 angular-cli 和 @ngx-translate。该应用程序具有延迟加载模块和一个带有组件的共享模块(非延迟加载)。语言文件按模块分开。问题是当我在延迟加载的组件中使用共享组件时,共享组件从延迟加载的模块 (feature.xx.json) 的翻译文件中获取字符串,而不是从 app 模块 (core.xx.json) 中获取字符串。所以我应该在每个功能模块的翻译文件中声明共享组件的字符串。
我希望,共享模块始终使用应用程序模块(core.xx.json)或自己的翻译文件。
app.module.ts
export function createTranslateLoader(http: HttpClient) {
return new TranslateHttpLoader(http, './assets/i18n/core.','.json');
}
...
imports [
TranslateModule.forRoot({
loader: {
provide: TranslateLoader,
useFactory: (createTranslateLoader),
deps: [HttpClient]
},
isolate: false
}),
...
]
Run Code Online (Sandbox Code Playgroud)
共享模块.ts
imports: [
TranslateModule,
...]
Run Code Online (Sandbox Code Playgroud)
功能模块
export function createTranslateLoader(http: HttpClient) {
return new TranslateHttpLoader(http, './assets/i18n/feature.', '.json');
}
...
imports: [
...
SharedModule,
TranslateModule.forChild({
loader: {
provide: TranslateLoader,
useFactory: (createTranslateLoader),
deps: [HttpClient]
},
isolate: true
})]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3279 次 |
| 最近记录: |