angular - Angular Material 输入中的 ngx-translate 不显示初始负载时的平移,但在之后显示

标签 angular angular6 ngx-translate

我在 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/

相关文章:

javascript - Angular 7导入所有但忽略一个文件

javascript - 如何在 Angular 变化事件中重新加载组件

找不到 json 语言文件 ngx-translate angular-cli

angular - @ngx-translate Nativescript/Angular 应用程序

angular - Angular (@angular/localize)是否可以进行运行时语言翻译?

javascript - Angular 5 : JavaScript CustomEvent (Polyfill)

typescript - Observable.interval 的问题 - 模板中的数据未更新,ngFor 的长度不正确,启动时获取轮询数据

javascript - 如何使用 Angular2 在 Telerik 的 Nativescript UI 中在操作栏上显示 sideDrawer?

angular-routing - 您可以在父路由器 socket 中显示您的子路由吗?

javascript - 根据值将键映射到数组