gpt4 book ai didi

angular - Transloco translateService.translate 在 app.component.ts 中不起作用

转载 作者:行者123 更新时间:2023-12-05 06:08:04 25 4
gpt4 key购买 nike

如果我在我的 app.component.ts 构造函数中输入以下内容,它不起作用。

alert(this.translateService.translate('navigation.dashboard'));

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

这是我的 .json 文件:

    "navigation": {
"dashboard": "Dashboard"
}

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

import { TranslocoRootModule } from './transloco/transloco-root.module';

imports: [
...
HttpClientModule,
TranslocoRootModule
],

我错过了什么吗?

最佳答案

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

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

为了解决这个问题,这是我所做的:

...
constructor(private translocoService: TranslocoService,
private translocoHttpLoader: TranslocoHttpLoader ...) {
...
}

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

希望这个例子对您有所帮助。

关于angular - Transloco translateService.translate 在 app.component.ts 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65182178/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com