【发布时间】:2021-09-11 23:18:17
【问题描述】:
我有两种语言的对象:西班牙语和英语我可以翻译对象 1 次,默认情况下它是英语,我可以从英语翻译成西班牙语,但后来我不能再翻译成英语等....
room.component.html
<ul class="navbar-nav navbar-right">
<span class="form-inline">
<select
class="form-control"
#selectedLang
(change)="switchLang(selectedLang.value)">
<option *ngFor="let language of translate.getLangs()"
[value]="language"
[selected]="language === translate.currentLang">
{{ language }}
</option>
</select>
</span>
</ul>
<div *ngIf="translateEn == true; then thenBlock else elseBlock"></div>
<ng-template #thenBlock> <h4>{{ room.titleEs }}</h4></ng-template>
<ng-template #elseBlock> <h4>{{ room.title }}</h4></ng-template>
room.component.ts
switchLang(language: string) {
this.translate.use(language);
// this.cdRef.markForCheck();
// this.cdRef.detectChanges();
if(this.translate.use('en'))
{
this.translateEn = true;
}
else if(this.translate.use('es'))
{
this.translateEn = false;
}
translate.addLangs(['en', 'es']);
translate.setDefaultLang('en');
public translateEn:boolean;
我必须检测 select {{ language }} 中的更改,我尝试使用 onChanges 但不起作用,并且使用 ChangeDetectorRef....
【问题讨论】:
标签: angular ngx-translate