typescript - 在函数中扩展一个类并保持输入
问题描述
我正在尝试在函数内部扩展一个类,同时保留原始类的类型。
该函数接受一个Model
类并用一些额外的信息扩展它,然后返回新扩展的类。
我想避免any
在这里使用,因为我不想丢失Model
给你的打字。
export default function attach(ModelClass: typeof Model, options: AttachOptions) {
class AttachedClass extends ModelClass {
// override some static methods here based on `options`
}
return AttachedClass;
}
我得到这个错误虽然
Return type of exported function has or is using private name 'AttachedClass'. on line 1
解决方案
我假设错误来自声明文件生成?
您需要注释attach
. 您可以使用添加到类的静态端的方法声明一个接口AttachMethods
,然后创建返回类型typeof Model & AttachMethods
。使返回类型依赖于选项比较棘手,但很可能是可行的;如果您提供更多信息,我可以提供帮助。
推荐阅读
- flutter - 在 Flutter 中使用 Bloc/Cubit 时绕过 CONTEXT
- mongodb - 为什么我在 docker-compose 中的 mongo 容器不断退出?
- keycloak - Keycloak - 客户端角色 - 检索自定义属性
- ios - 使用firebase反应原生ios应用程序的应用程序启动时间长
- ios - 当 CloudKit 中的核心数据数据发生变化时,如何更新 WidgetKit 时间线条目?
- c# - C# websocket大气客户端示例
- python - Python 中的 Oracle 数据库:缺少逗号
- reactjs - 在 Render 函数 React js 中编写内联函数方法与普通方法之间的区别
- javascript - 目前正在学习javascript和html
- android - React Native 无法识别 Android SDK