如何在typescript中描述具有动态名称的类型
How do I describe the a type in typescript that has dynamic name?
我想描述一个具有以下行为的类型
export class myData {
key : string;
display_name : string;
}
然而,我希望key
和display_name
的动态名称与我提供的的实际密钥和显示名称
例如。以下是有效的myData类型
mySample1:myData =
{
myKey : 'myKeyValue'
myName : 'myNameValue'
}
mySample1:myData =
{
myKey2 : 'myKeyValue2'
myName2 : 'myNameValue2'
}
这样做的动机是,我从API获得了大量数据,这些数据返回了一个具有相同键数和每个键的值类型的对象列表。但问题是,每个数据都有不同的密钥名称。
我想在angular2中创建一个Component
,它只接受一个具有特定数量键的对象列表,并且每个键的值必须是特定类型。
例如,我不希望我的Component
采用
var test =
{
myKey2 : 1
myName2 : 'myNameValue2'
}
或
var test2 =
{
myKey2 : 'myNameValue1'
myName2 : 'myNameValue2'
mySomeOtherKey : 'myNameValue10'
}
这可能是打字稿吗?如果可能的话,这是打字的好主意吗?
例如。以下是有效的myData类型
TypeScript是结构化的。由于您希望这两个都有效:
mySample1:myData =
{
myKey : 'myKeyValue'
myName : 'myNameValue'
}
mySample1:myData =
{
myKey2 : 'myKeyValue2'
myName2 : 'myNameValue2'
}
您可以很容易地将myData
声明为这两种类型的并集:
type MyData = {
myKey: string;
myName: string;
}
| {
myKey2: string;
myName2: string;
}
let mySample1: MyData =
{
myKey: 'myKeyValue',
myName: 'myNameValue'
}
mySample1 =
{
myKey2: 'myKeyValue2',
myName2: 'myNameValue2'
}
相关文章:
- 如何在js中实现树结构类型的表单动态填充
- 使用动态<选择>以显示<输入类型=“;文本>
- 从 json 动态获取数据时出现类型错误
- 用Javascript为QCM动态生成问题——未捕获类型错误
- 通过参数将传递的函数分配给动态创建的输入类型的onclick事件
- 如何在typescript中描述具有动态名称的类型
- JavaScript中动态类型运算符的双重调度
- HTML5:如何创建一个“;范围输入类型“;具有动态值
- 如何在创建动态输入文件时获取相同输入类型的单独 ID
- 传单绘图插件:如何按图层类型动态隐藏/显示绘图工具
- jQuery获取隐藏输入类型的动态PHP值
- Twitter 引导程序提前类型无法添加到动态创建的元素
- 在 Javascript 中将长度动态显示为类型
- 角度 - 如何对不同类型的错误执行动态警报
- 根据数据类型动态为Highcharts中的特定数据分配颜色
- 如何在动态类型语言中描述函数参数
- 是否“;未打字的“;也表示“;动态类型的“;在CS学术界
- 我什么时候应该在动态类型语言中使用null
- 动态类型发现在谷歌闭包编译器
- 如何使用接口类型执行动态类型测试