我有一个类似下面的抽象类
export abstract class Foo {
public f1() {
}
}
和另外两个扩展基础的类
export class Boo extends Foo {
}
export class Moo extends Foo {
}
现在我有一个类似以下的自定义装饰器
export function Bla() {
return (target: any, key: string, descriptor: PropertyDescriptor) => {
}
}
所以我的第一堂课是以下的(带有装饰器)
export abstract class Foo {
@Bla
public f1() {
}
}
装饰器中是否有办法区分来自每个超类的哪个调用?
到目前为止,我一直在尝试检查target
的原型/构造函数,但我似乎还没有找到访问/了解它源自哪个类的方法。有没有办法解决还是我做错了什么?
谢谢。
class
构造器时,将应用装饰器,而不是在创建实例时再应用。它仅适用于该类的原型成员(子类仅通过继承获取修饰的成员)。假设您有: