在另一个接口中使用 Typescript 接口的一个属性

Jea*_*eri 3 interface typescript

假设我有一个 Typescript 接口,如下所示

export interface IMyObj {
    id: string;
    type: 'AA' | 'AZ' | 'XY';
    ...
}
Run Code Online (Sandbox Code Playgroud)

现在我需要另一个也有该type字段的接口

export interface IMyOtherObj {
    ...
    type: 'AA' | 'AZ' | 'XY';
    ...
}
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我复制了 的值type。所以我的问题是,如何IMyObj.type在我的IMyOtherObj界面中重用?我试过这个

export interface IMyOtherObj {
    ...
    type: IMyObj.type; // -> error
    ...
}
Run Code Online (Sandbox Code Playgroud)

我想我已经很接近了,但到目前为止还没有运气,有什么建议吗?

Mac*_*ora 9

您的问题是 TS 类型系统没有.属性访问权限,但有索引属性 type,请更改类型定义中的一件事:

type: IMyObj['type']
Run Code Online (Sandbox Code Playgroud)