【发布时间】:2019-01-04 16:24:57
【问题描述】:
我有一个使用 ngx-translate 的 Angular 应用程序。以下版本:
"@angular/core": "5.2.6",
"@ngx-translate/core": "9.1.1",
"@ngx-translate/http-loader": "2.0.1"
在 AppModule 类中,我添加了以下导入:
imports: [
.....
TranslateModule.forRoot({
loader: {
provide: TranslateLoader,
useFactory: (createTranslateLoader),
deps: [HttpClient]
}
})
......
]
.....
export function createTranslateLoader(http: HttpClient) {
return new TranslateHttpLoader(http, './assets/i18n/', '.json');
}
我创建了一个导出 TranslateModule 的 SharedModule:
exports: [
// Modules
TranslateModule,
....
]
一切都像一个魅力,除了当我刷新一个放置在与应用程序模块不同的模块(导入 SharedModule)的页面时。 在这种情况下,我需要导航回主页(在 AppModule 中编码),一旦我到达主页,ngx-translate 就会重新开始工作,我可以使用 ngx-translate 重新导航到其他页面。
有人可以帮助我吗?提前致谢
更新 似乎问题与我刷新页面时未定义 translateService.currentLang 的事实有关。如果我通过 translateService.use(language) 以编程方式设置 ngOnInit 中的语言,它就可以工作。 如何通过设置默认 currentLang 来避免在每个组件中手动设置此检查 currentLang 变量?
【问题讨论】:
标签: angular ngx-translate