首页 > 解决方案 > 使用 TypeScript 在另一个接口中使用接口中的一个属性?

问题描述

如何在 TypeScript 的另一个接口中使用一个接口中的一个属性?

One由图书馆提供,Two是我的代码:

interface One {
  foo: string;
  position: 'right' | 'left';
};

interface Two {
  bar: string;
  position: 'right' | 'left';
};

以上工作,但我希望我可以做类似的事情:

interface Two {
  bar: string;
  position: One['position']
};

标签: typescript

解决方案


extend One如果我理解正确,你想Two

TS游乐场

interface One {
  foo: string;
  position: 'right' | 'left';
};

interface Two extends One {
  bar: string;
};

const something: Two = {
    foo: 'foo',
    bar: 'bar',
    position: 'right'
};

显然,这意味着该属性foo将出现在您的Two界面上,但尚不清楚这是否是一个问题。


推荐阅读