Javascript 角度材质选择在应用程序启动时不显示当前ngx翻译语言(在用户手动选择语言之前)
我用的是ngx翻译,效果很好。以下代码取自官方示例,向我展示了当前lang,并允许我切换它:Javascript 角度材质选择在应用程序启动时不显示当前ngx翻译语言(在用户手动选择语言之前),javascript,angular,internationalization,angular-material,ngx-translate,Javascript,Angular,Internationalization,Angular Material,Ngx Translate,我用的是ngx翻译,效果很好。以下代码取自官方示例,向我展示了当前lang,并允许我切换它: <select #langSelect (change)="translate.use(langSelect.value)"> <option *ngFor="let lang of translate.getLangs()" [value]="lang" [selected]="lang === translate.currentLang">{{ lang }}<
<select #langSelect (change)="translate.use(langSelect.value)">
<option *ngFor="let lang of translate.getLangs()" [value]="lang" [selected]="lang === translate.currentLang">{{ lang }}</option>
</select>
你看,没什么不同。这段代码还允许我切换语言,但在第一次更改之前它不会显示当前语言
我创建了一个简单的演示,它的视图并不完美,但这个问题可以很容易地复制:。我想知道我是否遗漏了什么,但我真的在这里努力使材料变体工作,并在打开下拉列表并选择语言之前向我显示当前语言。您可以尝试这个。您必须在mat select中设置[value]=translate.currentLang。此外,您不需要在mat选项中选择
<mat-select #langSelect (change)="translate.use(langSelect.value)">
<mat-option
*ngFor="let lang of translate.getLangs()"
[value]="lang"
[selected]="lang === translate.currentLang"
>
{{ lang }}
</mat-option>
</mat-select>
<mat-select [value]="translate.currentLang" class="lang" #langSelect (change)="translate.use(langSelect.value)">
<mat-option
*ngFor="let lang of translate.getLangs()"
[value]="lang"
>
{{ lang }}
</mat-option>
</mat-select>