我在 Angular 6 应用程序中使用 ngx-translate v10.02 并使用 Material 6.4
我有一个非常烦人的问题,初始加载时显示的值没有翻译,但如果我来回更改语言,它将显示为已翻译
我的代码是这样的:
<mat-form-field>
<input matInput placeholder="{{'IDType'| translate}}" disabled name="idType"
[(ngModel)]="this.dataService.idType"
value="{{this.dataService.idType | translate}}">
</mat-form-field>
因此,在初始加载时,它将显示变量本身而不进行翻译(即 this.dataService.idType
的值),但如果我更改语言,它会进行翻译,我想知道是什么原因造成的。
任何人都可以建议我在这里错过了什么吗?
更新:
除了上面显示的一个之外,所有其他翻译的元素在初始加载时都正确显示,我看到的区别是这是唯一一个具有要翻译的变量的元素,所有其他元素都是静态字段
该字段是一个在两个值之间更改的变量,因此我无法用静态值替换它,但由于它是在更改语言后翻译的,我觉得它是可行的,但缺少一个小东西才能使其工作。
最佳答案
您确定加载时设置了初始语言吗?在 app.component 或您引导的任何内容中。 this.translateService.use('en') 或您想要的任何默认语言。
例如:
export class AppComponent {
param = {value: 'world'};
constructor(translate: TranslateService) {
// this language will be used as a fallback when a translation isn't found in the current language
translate.setDefaultLang('en');
// the lang to use, if the lang isn't available, it will use the current loader to get them
translate.use('en');
}
关于angular - Angular Material 输入中的 ngx-translate 不显示初始负载时的平移,但在之后显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51503002/