如何实现类型从类构造函数的参数派生的项目?打字稿支持吗?如果没有,为什么?
class Toolbar {
constructor(adit: string, options: { container: stirng }) { }
}
type ModudleSetting<T extends object = {}> = [
{ new(adit: string, options: T): any },
T,
]
function registerMoudle(moduleSetting: ModudleSetting) {
}
registerMoudle([Toolbar, { a: 'asdasd' }])
我希望{ a: 'asdasd' }
的类型为{ container: stirng }
,但不是。
答案 0 :(得分:0)
您只需要使您的registerModule
通用:
function registerMoudle<T extends object = {}>(moduleSetting: ModudleSetting<T>) {}