Как использовать ngx-translate внутри компонента
Я использую ngx-translate на моем веб-сайте, единственная проблема в том, что я знаю, как использовать его внутри html-шаблона, он отлично работает, но как я могу вызвать ключ JSON
внутри компонента?
Это то, что мне нужно, у меня есть
app.html
<div>{{"home" | translate }}</div>
это работает нормально, но внутри компонента у меня есть что-то вроде этого
this.Items = [
{ title: 'Home', component: BookAServicePage, icon: 'settings' }
];
Как я могу заменить этот ДОМ, чтобы прочитать форму json
файл?
1 ответ
Я был в состоянии найти решение. Следует отметить, что мне пришлось использовать событие жизненного цикла DoCheck, чтобы метки уровня компонентов транслировались без обновления.
Вот как я это сделал.
import { Component, DoCheck } from '@angular/core';
import { TranslateService } from '@ngx-translate/core';
@Component({
selector: 'app-some',
templateUrl: './some.component.html',
styleUrls: ['./some.component.css']
})
export class SomeComponent implements DoCheck {
headers = [];
constructor(public translate: TranslateService){
}
ngDoCheck() {
this.translate.get(['HEADER.PRIORITY', 'HEADER.STATE', 'HEADER.DATE_CREATED'])
.subscribe(translations => {
this.setHeaders(translations);
});
}
setHeaders(translations) {
this.headers = [
{
title: translations['HEADER.PRIORITY'],
active: true
},{
title: translations['HEADER.STATE'],
active: false
},{
title: translations['HEADER.DATE_CREATED'],
active: false
}];
}
}