首页 > 解决方案 > 通过参数传递具有类型断言的类 - Typescript

问题描述

我通过这种方式在打字稿中模拟多重继承:

export const FileManager = superClass => class extends superClass {
    //...
}

export declare abstract class Model<T extends Model<T>>{
//...
}

我尝试了以下操作,然后它说 FileManager 需要 1 个参数而不是 2 个。

export class Order extends FileManager(Model<Order>)){
//...
}

所以我将 FileManager 定义更改为:

export const FileManager = (superClass,t) => class extends superClass<t> {
    //...
}

但后来我得到这个错误:

[ts] 'typeof Model' 类型的值不可调用。您的意思是包括“新”吗?

在我需要将类型断言声明为模型类之前它运行良好(它是必需的,我不能删除它)。我认为问题在于我接收“typeof”作为参数的方式以及如何动态实例化。

我真的卡住了,我将非常感谢任何帮助

标签: javascripttypescriptfactorytype-assertion

解决方案


推荐阅读