打字稿覆盖深键
Posted
技术标签:
【中文标题】打字稿覆盖深键【英文标题】:Typescript override deep key 【发布时间】:2020-05-19 03:32:47 【问题描述】:假设我有一个像这样的界面
interface Theme
a:
b?:
c: CustomType;
...
如何将此主题界面覆盖为新的主题界面,将 b 更改为始终定义? (删除?
)显然我想保持其他一切不变。
编辑:我无权访问CustomType
【问题讨论】:
【参考方案1】:试试这个:
type NewTheme = Theme &
a:
b: NonNullable<Theme['a']['b']>
Playground
【讨论】:
【参考方案2】:因为parameter?: type
是parameter: type | undefined
的简写,你可以override interface:
interface Theme1 extends Theme
a:
b:
c: CustomType;
【讨论】:
这不会删除所有其他主题属性吗? 另外我无权访问 CustomType 此方法保留所有其他theme
属性,但如果您无法访问CustomType
,则不适合您。以上是关于打字稿覆盖深键的主要内容,如果未能解决你的问题,请参考以下文章
typescript Ionic 1(Angular 1.x)后退按钮覆盖 - 打字稿版本