我有一个使用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');
}
我创建了一个 SharedModule,该模块导出TranslateModule:
exports: [
// Modules
TranslateModule,
....
]
除了在不同模块中的页面(导入SharedModule的AppModule)刷新时,一切都很顺利。在这种情况下,我需要导航回主页(编码在AppModule中),一旦到达主页,ngx-translate就会重新开始工作,我可以使用ngx-translate重新导航到其他页面。
有人能帮帮我吗?先感谢!
更新: 似乎问题与刷新页面时translateService.currentLang未定义有关。如果我通过translateService.use(language)在ngOnInit中以编程方式设置语言,则它可以正常工作。 如何避免在每个组件中手动设置当前语言变量的检查,并设置默认的currentLang?