我想知道是否可以使用ngx-translate和Covalent Dynamic表单。 我的模板如下所示:
<td-dynamic-forms [elements]="dataElements">
</td-dynamic-forms>
我的dataElements数组:
this.dataElements = [
{
'name': 'name',
'label': 'NAME',
'type': 'text',
'disabled': true,
'required': true,
'default': this.application ? this.application.name : ''
},
{
'name': 'description',
'label': 'DESCRIPTION',
'type': 'textarea',
'required': false,
'default': this.application ? this.application.description : ''
},
];
我想使用ngx-translate翻译标签。我在其他常规表单中使用相同的,但我想知道是否可以使用动态表单中的翻译。
答案 0 :(得分:0)
您可以使用对象中的getter定义Label字段,并在方法内执行所需的操作。创建动态表单时,它会调用getter标签并接收本地化值。
要访问翻译服务,您可以在对象中添加实例作为新字段,并使用this.translateService
方法中的label()
对其进行访问。
this.dataElements = [
{
'name': 'name',
'type': 'text',
'disabled': true,
'required': true,
'default': this.application ? this.application.name : '',
'translateService': this.translateService, //add translation service instance to the object
get label() {
return this.translateService.get("NAME").value;//get traslation by key.
}
},
{
'name': 'description',
'type': 'textarea',
'required': false,
'default': this.application ? this.application.description : '',
'translateService': this.translateService,
get label() {
return this.translateService.get("DESCRIPTION").value;
}
},
];