typescript - 类型脚本对象一次应该允许一个特定的属性
问题描述
我是打字稿的新手,我有一个对象obj
,它有 3 个属性。甲,乙,丙。其中b 和 c 不会在一个对象中结合在一起。即我的对象将是
obj = {
a: 'xxx',
b: 'xxx'
}
或者
obj = {
a: 'xxx',
c: 'xxx'
}
. 如何定义obj
.
解决方案
这不是打字稿的用途,您只能定义对象的结构,但不能定义您想要的关系。
你可以通过两种方式做到这一点。要么你定义两种类型,然后说你的最终对象要么是 A 型,要么是 B 型:
const myObj: typeA | typeB;
在 typeA 中定义属性 a + c,在 typeB 中定义 a + b。
或者你可以这样做:
你定义
obj = {
'a': string,
'b'?: string,
'c'?: string
}
您将两个参数都设置为可选。并且您在组件/.ts
文件中进行所有逻辑检查。
推荐阅读
- javascript - 隐藏手机面包屑导航中的最后一个文本块 - Prestashop
- java - 在 div 类中捕获元素
- javascript - this.setState 是否在反应中返回承诺
- ruby - 合并多个数组
- python - Python 请求与我的数据字典中的链接混淆
- javascript - 无法读取未定义反应js的属性'func'?
- c# - 如何使用 ExecuteScalar() 获取一个值并将其提供给您的 textbox.text?
- postman - 如何在邮递员中将多个变量作为标头请求传递?
- javascript - TypeScript 的无服务器打包问题
- java - 在 javafx 中绘图导致 ClassCastException Double 无法转换为 String