【发布时间】:2019-10-04 06:27:59
【问题描述】:
我有一个 Users 类,我从文件 Users.ts 导出
export default class Users {}
然后我从另一个文件index.ts 导出Users.ts:
// classes
export {default as Users} from './Users'
我有第三个文件Foo.ts,我想在其中动态实例化从index.ts 导出的所有类,并将它们作为属性添加到该类:
import * as classes from './index'
class Foo {
constructor() {
const httpClient = new HttpClient()
}
_addClasses() {
for (const class in classes) {
this[class] = new classes[class](this.httpClient);
}
}
}
我的问题是,如何将正确的类型添加到 Foo,以便在 IDE 中为 .users 获得正确的自动补全,例如:
new Foo(new HttpClient).users
【问题讨论】:
-
我在任何地方都看不到属性
.users的任何定义,除非您尝试使用它。而你的Foo构造函数不带任何参数。 -
没错,我要推断类型。
-
@Nit 你是对的,但我希望避免创建包装函数 + 类型强制。
标签: typescript typescript-typings typescript2.0