是否可以将ngx-translate与Teradata Covalent Dynamic表格一起使用?

时间:2018-02-14 06:01:58

标签: angular ngx-translate teradata-covalent

我想知道是否可以使用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翻译标签。我在其他常规表单中使用相同的,但我想知道是否可以使用动态表单中的翻译。

1 个答案:

答案 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;
            }
      },
    ];