gpt4 book ai didi

typescript - 如何在 Typescript 中引用工厂创建类的实例?找不到名字错误

转载 作者:搜寻专家 更新时间:2023-10-30 21:06:28 25 4
gpt4 key购买 nike

Typescript 无法引用工厂创建的类。这是一个示例代码:

// factory.ts
export const createClass = () =>
class Model {
// ...
}

// ModelA.ts
import {createClass} from './factory';

export const ModelA = createClass();

let a: ModelA; // Cannot find name 'ModelA';

// other.ts
import {ModelA} from './ModelA';
new ModelA() // Cannot find name 'ModelA';

我在这里做错了什么?

最佳答案

如果您正在尝试获取函数生成的类的保险类型,那么您可以使用 InstanceType 条件类型。

export const createClass = () =>
class Model {
// ...
}


export const ModelA = createClass();
type ModelA = InstanceType<typeof ModelA>
let a: ModelA = new ModelA(); // ok

关于typescript - 如何在 Typescript 中引用工厂创建类的实例?找不到名字错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51454166/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com