- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如果我在我的 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/
这是我的 Transloco 配置: @Injectable({ providedIn: 'root' }) export class TranslocoHttpLoader implements T
这是我的 Transloco 配置: @Injectable({ providedIn: 'root' }) export class TranslocoHttpLoader implements T
如果我在我的 app.component.ts 构造函数中输入以下内容,它不起作用。 alert(this.translateService.translate('navigation.dashboa
我有简单的翻译键,例如 login-page.login。 在 AOT 中构建时,翻译显示不正确,而是显示键 fr.login-page.login。没发现AOT为什么要加lang前缀。 显然,在 J
我是一名优秀的程序员,十分优秀!