【发布时间】:2019-04-03 08:22:26
【问题描述】:
我有一个对象 foo
interface Foo {
fooId: string;
otherStuff: any;
}
现在我有一个对象 fooCollection,它是一个包含未定义数量的 foo 的对象。每个属性都是一个等于 fooId 的字符串。如何为 fooCollection 定义准确的接口?
到目前为止,我想出了这个:
interface FooCollection {
[key: string]: Foo;
}
-我怎么能告诉 ts 属性的数量可以是什么?
-我能不能更准确的说一下 prop 名称,说它是 fooId 而不是任何字符串?
【问题讨论】:
-
您的索引签名已经允许任意数量的属性(零个或多个)。您能澄清一下属性名称是“fooId 而不是任何字符串”的意思吗?您的意思是每个属性的名称都应该与作为属性值的
Foo对象的fooId字段匹配吗? -
@Matt McCutchen “您的意思是每个属性的名称都应该与作为属性值的 Foo 对象的 fooId 字段匹配吗?” => 完全正确!
标签: typescript interface