Как изменить значение свойства в PropertyDecorator? - PullRequest
0 голосов
/ 31 августа 2018

Как изменить значение foo в моем TestClass, используя декоратор DefaultValue?

class TestClass {
  @DefaultValue('bar')
  private foo;
}

export const DefaultValue = (val: any): PropertyDecorator => {
  return (target: any, propertyKey: string | symbol) => {
    // Change the value of the decorated property
    this[propertyKey] = val; // DOESN'T WORK!
  };
}

Не будет работать: this[propertyKey] = val;

1 Ответ

0 голосов
/ 31 августа 2018

ты не можешь.

это связано с тем, что в настоящее время нет механизма для описания свойства экземпляра при определении членов прототипа и нет способа наблюдать или изменять инициализатор для свойства.

~ Документы TS

...