不能使用将另一个接口扩展为方法参数的接口

时间:2019-01-21 07:58:58

标签: typescript extends

我有3个界面:

interface IA {
   field1: string
}

interface IB extends A {
   field2: number
}

interface IC {
   test: string;
   myInput: IA
}

和一个功能:

test(params: IC) {
   ...
}

我希望我的方法能够在myInput入口接口IB中接收,但是,即使派生了IA,我也只能通过接口IB。从它。

我收到的错误:

error TS2322: Type '{ test: string; myInput: IA }' is not assignable to type 'IA'.
  Object literal may only specify known properties, and 'test' does not exist in type 'IA'.

我尝试使用类似这样的方法来定义myInputT<T extends IA>,但无法编译。

1 个答案:

答案 0 :(得分:0)

我像this一样尝试了一切,似乎一切正常。 打开控制台,查看结果。