Iva*_*tan 6 javascript typescript
大家好,我想知道是否有可能获得所有给定装饰器 javascript/typescript 的类。
例如我有课
@mydecorator
class SomeClass1{
}
Run Code Online (Sandbox Code Playgroud)
还有一些在模块中
@mydecorator
class SomeClass2{
}
Run Code Online (Sandbox Code Playgroud)
然后在运行时的其他模块中,我想获得所有具有装饰器 @mydecorator 的类或构造函数......恐怕这是不可能的:(
export function getaAllClassesByDecorator(decorator:string){
... return constructor or something that i am able to call static method
}
Run Code Online (Sandbox Code Playgroud)
您需要在某处“注册”所有使用@mydecorator 的类。这个寄存器逻辑应该在@mydecorator 中实现。例如:
export const registeredClasses = [];
export function mydecorator() {
return function(target: Function) {
registeredClasses.push(target);
};
}
@mydecorator()
class SomeClass1{
}
@mydecorator()
class SomeClass2{
}
Run Code Online (Sandbox Code Playgroud)
现在您可以在registeredClasses数组中获取所有已注册的类
| 归档时间: |
|
| 查看次数: |
2549 次 |
| 最近记录: |