如何为对象定义接口';s每个字段必须是TypeScript中其他接口的实例?
我有这个TypeScript接口定义:如何为对象定义接口';s每个字段必须是TypeScript中其他接口的实例?,typescript,oop,interface,Typescript,Oop,Interface,我有这个TypeScript接口定义: 接口字段接口{ 标签:字符串; 占位符:字符串; 标题:字符串; } 我在第一个模型中有这样的数据结构: 字段={ 姓名:{ 标签:“…”, 占位符:“…”, 标题:“…” }, 年龄:{ 标签:“…”, 占位符:“…”, 标题:“…” }, 出生地点:{ 标签:“…”, 占位符:“…”, 标题:“…” } }; 我在第二个模型中有这样的数据结构: 字段={ 城市:{ 标签:“…”, 占位符:“…”, 标题:“…” }, 邮编:{ 标签:“…”, 占位
接口字段接口{
标签:字符串;
占位符:字符串;
标题:字符串;
}
我在第一个模型中有这样的数据结构:
字段={
姓名:{
标签:“…”,
占位符:“…”,
标题:“…”
},
年龄:{
标签:“…”,
占位符:“…”,
标题:“…”
},
出生地点:{
标签:“…”,
占位符:“…”,
标题:“…”
}
};
我在第二个模型中有这样的数据结构:
字段={
城市:{
标签:“…”,
占位符:“…”,
标题:“…”
},
邮编:{
标签:“…”,
占位符:“…”,
标题:“…”
},
街道办事处地址:{
标签:“…”,
占位符:“…”,
标题:“…”
},
门牌号码:{
标签:“…”,
占位符:“…”,
标题:“…”
}
};
我可以这样说吗,像这样
接口字段容器接口{
*:现场接口;
}
我想说的是,在界面中,所有的程序都必须是FieldInterface
的安装
我能做点什么吗?您可以使用(如上面的评论所述)
接口字段接口{
标签:字符串;
占位符:字符串;
标题:字符串;
}
接口字段容器接口{
[键:字符串]:字段接口;
}
常量字段:FieldContainerInterface={
姓名:{
标签:“…”,
占位符:“…”,
标题:“…”
},
年龄:{
标签:“…”,
占位符:“…”,
标题:“…”
},
出生地点:{
标签:“…”,
占位符:“…”,
标题:“…”
}
};
除了可索引类型之外,Typescript还定义了一组实用程序类型。其中之一是记录
,这正是您所需要的
看
类型FieldContainerInterface=记录
记录可以是您使用的类型。再看看@apokryfos,你能用一个示例代码解释一下吗?const fields:Record={….}
type FieldContainerInterface = Record<string, FieldInterface>