是否可以使用装饰器打字稿向属性添加属性

时间:2018-11-01 09:08:40

标签: angular typescript

是否可以将属性添加到现有的属性打字稿中。

如果是这样,最好的方法是什么?

我想将属性添加到要在前端使用的属性。

我的实体

import { FieldDecorator } from "../shared/decorators/field-decorator";

export class Person{
  constructor(){}

  @FieldDecorator({ label: 'First Name' })
  name:string;
}

我的装饰器

export function FieldDecorator(config) {
    return function (target, key) {

    Object.defineProperty(target, key, {
        get: function () {

            Object.defineProperty(key, "label", {
                get: function () {
                    return config.label;
                }
            });

            return this;
        },
    });
 };
}

我的视图

<input type="text" [formControlName]="field.key" autocomplete="off" class="ui-inputtext ui-corner-all ui-widget" >
<label>{{field.label}}</label>

0 个答案:

没有答案