首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Transloco translateService.translate在app.component.ts中不工作

Transloco translateService.translate在app.component.ts中不工作
EN

Stack Overflow用户
提问于 2020-12-07 12:58:32
回答 1查看 597关注 0票数 3

如果我在我的app.component.ts构造函数中输入下面的内容,它就不能工作。

代码语言:javascript
复制
alert(this.translateService.translate('navigation.dashboard'));

但是,如果我在子模块中输入相同的代码,它就能正常工作。

这是我的.json文件:

代码语言:javascript
复制
    "navigation": {
    "dashboard": "Dashboard"
   }

在我的app.module.ts中,TranslocoRootModule也是导入的。

代码语言:javascript
复制
import { TranslocoRootModule } from './transloco/transloco-root.module';

imports: [
 ...  
 HttpClientModule,
 TranslocoRootModule
],

我错过什么了吗?

EN

回答 1

Stack Overflow用户

发布于 2022-06-21 19:43:59

我也遇到了这个问题。我意识到,当我试图获得翻译时,transloco文件(即json文件)还没有加载。HTTP请求的顺序似乎不允许在组件加载之前加载所有翻译json文件。

这意味着,如果您在另一个页面上,然后通过角导航到此页面,它将/将工作(因为翻译文件已经加载)。这似乎只是当前页面刷新的问题。

为了绕开这件事,我做了这样的事:

代码语言:javascript
复制
...
constructor(private translocoService: TranslocoService,
  private translocoHttpLoader: TranslocoHttpLoader ...) {
...
}

ngOnInit(): void {
...
this.translocoHttpLoader.getTranslation(this.translocoService.getActiveLang())).subscribe(translation => {
  alert(translation.navigation.dashboard);
})
...
}

希望这个例子有帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65182178

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档