【发布时间】:2017-02-04 10:01:28
【问题描述】:
我的应用程序中有一个接口:
interface Asset {
id: string;
internal_id: string;
usage: number;
}
这是帖子界面的一部分:
interface Post {
asset: Asset;
}
我还有一个用于后期草稿的接口,其中资产对象可能只是部分构造
interface PostDraft {
asset: Asset;
}
我想允许PostDraft 对象拥有部分资产对象,同时仍然检查那里的属性的类型(所以我不想只是将其与any 交换)。
我基本上想要一种能够生成以下内容的方法:
interface AssetDraft {
id?: string;
internal_id?: string;
usage?: number;
}
无需完全重新定义Asset 接口。有没有办法做到这一点?如果不是,那么在这种情况下安排我的类型的聪明方法是什么?
【问题讨论】:
-
今天您需要手动创建第二个界面,尽管这可能会在不久的将来发生变化:如果您有兴趣,请查看 ts repo 上的partial types 问题。
标签: typescript