Typescript类修饰符,强制目标类扩展另一个类
我试图编写一个类装饰器,它强制目标类扩展另一个类 假设示例:Typescript类修饰符,强制目标类扩展另一个类,typescript,decorator,Typescript,Decorator,我试图编写一个类装饰器,它强制目标类扩展另一个类 假设示例: @Component class MyComponent extends WebComponent { } 我希望@Component装饰器强制目标类在WebComponent上扩展 我试过很多方法,但似乎都不管用。我认为事情会像这样简单: export function Component(options: ComponentConstructorOptions) { return <T extends WebCom
@Component
class MyComponent extends WebComponent
{
}
我希望@Component
装饰器强制目标类在WebComponent
上扩展
我试过很多方法,但似乎都不管用。我认为事情会像这样简单:
export function Component(options: ComponentConstructorOptions)
{
return <T extends WebComponent>(target: T): T => {
console.log(target);
return target;
};
}
导出功能组件(选项:组件构造函数选项)
{
返回(目标:T):T=>{
控制台日志(目标);
回报目标;
};
}
因此,如果MyComponent
没有扩展到WebComponent
,我希望typescript编译失败
非常感谢您的帮助 好吧,我偶然发现了修复方法。结果证明,这就像在装饰者的函数签名中使用
typeof
一样简单:
return (target: typeof WebComponent) => {
console.log(target);
};