Прочитать информацию декоратора класса в машинописи - PullRequest
0 голосов
/ 19 ноября 2018

У меня есть класс, украшенный атрибутами.

Я хотел бы прочитать атрибуты в конструкторе (или другом методе).

Я попытался использовать Reflect и все возможные методы для этогокласс, но я получаю только undefined

Класс выглядит следующим образом:

@inject(Element)
@bindable('color')
export class Messagebarhost {

public element: HTMLElement;

  constructor(element) {
  console.log(Reflect.getMetadata("design:paramtypes", this));
  // prints undefined
  // somehow I want to read the value 'color'
  }
}

Если я установлю точку останова в комплекте js-файла, где создаются декораторы.Нижняя строка выведет правильное значение, если я введу его в отладчике

r.__metadata__.undefined["aurelia:resource"].properties[0]

1 Ответ

0 голосов
/ 19 ноября 2018

Я думаю, вы не должны помещать декоратор в класс, а в поле, как показано ниже:

@inject(Element)
export class Messagebarhost {

  public element: HTMLElement;
  @bindable color;


  constructor(element) {
     // this.color is not bound here yet.
  }

  attached () {
    // You need to wait till the attached or the bind function is
    // called to get the correct value in this.color.
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...