我有一个用属性修饰的类。
我想读取构造函数(或其他方法)中的属性。
我已经尝试过在该类上使用Reflect和所有可能的方法,但是我只能得到未定义的
该类看起来像这样
@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]
答案 0 :(得分:0)
我认为您不应将装饰器放在类上,而应放在如下所示的字段上:
@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.
}
}