【发布时间】:2018-06-16 12:34:04
【问题描述】:
这是一个演示:
function Bar(FooClass: Foo) {
console.log('in Bar decorator');
return function (args) {
console.log('in Bar high order function: ', args);
let foo = new FooClass();
}
}
@Bar
class Foo {
a = 1;
static b = 2;
constructor(args) {
console.log('in Foo constructor')
console.log('Foo instance a: ', this.a);
console.log('Foo static b: ', Foo.b);
}
}
new Foo(123);
当我编译并运行代码时,它会打印:
in Bar decorator
in Bar high order function: 123
in Foo constructor
Foo instance a: 1
Foo static b: undefined
我知道我可以通过FooClass.b 访问高阶函数中的静态值b。但在Foo的实例中似乎无法访问它。
【问题讨论】:
-
您的代码无法编译
标签: typescript decorator