1
我有一個路由到的組件,因此它沒有父/子。我通過TranslateService
更改語言,這是我的app.component
的調用,這是我的應用程序的基礎。我調用服務從後端獲取HTML文件,但是當我更改語言時,我想要進行新的調用以使用另一種語言獲取文檔。語言更改時會執行新的服務調用
我無法使用ngOnchanges
,因爲沒有@Input()
,我無法更改後端,因爲它來自舊應用程序,而後者已被另一個應用程序使用。
app.component.ts
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['app.component.scss']
})
export class AppComponent {
constructor(private translateService: TranslateService) {
}
public changeLanguage(language) {
this.translateService.use(language);
this.translateService.setDefaultLang(language);
}
}
免責聲明
@Component({
selector: 'app-disclaimer',
templateUrl: 'vastgeklikteRechten.component.html',
styleUrls: ['vastgeklikteRechten.component.scss']
})
export class VastgeklikteRechtenComponent {
@ViewChild('dataContainer') dataContainer: ElementRef;
text = '';
constructor(
private translateService: TranslateService,
private vastgeklikteRechtenService: VastgeklikteRechtenService
) {
this.vastgeklikteRechtenService.getVastgeklikteRechten(
this.getLanguage()).subscribe(text => {
this.text = text;
this.loadData(text);
});
}
loadData(data) {
this.dataContainer.nativeElement.innerHTML = data;
}
getLanguage() {
return this.translateService.getDefaultLang();
}
}