如何为对象定义接口';s每个字段必须是TypeScript中其他接口的实例?

如何为对象定义接口';s每个字段必须是TypeScript中其他接口的实例?,typescript,oop,interface,Typescript,Oop,Interface,我有这个TypeScript接口定义: 接口字段接口{ 标签:字符串; 占位符:字符串; 标题:字符串; } 我在第一个模型中有这样的数据结构: 字段={ 姓名:{ 标签:“…”, 占位符:“…”, 标题:“…” }, 年龄:{ 标签:“…”, 占位符:“…”, 标题:“…” }, 出生地点:{ 标签:“…”, 占位符:“…”, 标题:“…” } }; 我在第二个模型中有这样的数据结构: 字段={ 城市:{ 标签:“…”, 占位符:“…”, 标题:“…” }, 邮编:{ 标签:“…”, 占位

我有这个TypeScript接口定义:

接口字段接口{
标签:字符串;
占位符:字符串;
标题:字符串;
}
我在第一个模型中有这样的数据结构:

字段={
姓名:{
标签:“…”,
占位符:“…”,
标题:“…”
},
年龄:{
标签:“…”,
占位符:“…”,
标题:“…”
},
出生地点:{
标签:“…”,
占位符:“…”,
标题:“…”
}
};
我在第二个模型中有这样的数据结构:

字段={
城市:{
标签:“…”,
占位符:“…”,
标题:“…”
},
邮编:{
标签:“…”,
占位符:“…”,
标题:“…”
},
街道办事处地址:{
标签:“…”,
占位符:“…”,
标题:“…”
},
门牌号码:{
标签:“…”,
占位符:“…”,
标题:“…”
}
};
我可以这样说吗,像这样

接口字段容器接口{
*:现场接口;
}
我想说的是,在界面中,所有的程序都必须是
FieldInterface
的安装

我能做点什么吗?

您可以使用(如上面的评论所述)

接口字段接口{
标签:字符串;
占位符:字符串;
标题:字符串;
}
接口字段容器接口{
[键:字符串]:字段接口;
}
常量字段:FieldContainerInterface={
姓名:{
标签:“…”,
占位符:“…”,
标题:“…”
},
年龄:{
标签:“…”,
占位符:“…”,
标题:“…”
},
出生地点:{
标签:“…”,
占位符:“…”,
标题:“…”
}
};

除了可索引类型之外,Typescript还定义了一组实用程序类型。其中之一是
记录
,这正是您所需要的

类型FieldContainerInterface=记录

记录可以是您使用的类型。再看看@apokryfos,你能用一个示例代码解释一下吗?
const fields:Record={….}
type FieldContainerInterface = Record<string, FieldInterface>