克服多个扩展限制

时间:2016-08-25 13:56:08

标签: typescript

我有一个对象界面:

interface Obj {
    a:string;
    b:string;
}

当从服务接收数据时,我有一个通常必须扩展我收到的每个Obj的接口;

interface ServiceResponse {
    c:string;
    d:string;
}

我如何有一个扩展两个接口的接口,以便我可以将该对象转发给Obj?还有一个更好的设计结构来处理这种情况吗?

1 个答案:

答案 0 :(得分:1)

我觉得只是在做

interface Both extends Obj, ServiceResponse {

}

适用于该案例。我错过了什么吗?

这意味着最终的代码类似于:

interface Obj {
    a:string;
    b:string;
}


interface ServiceResponse {
    c:string;
    d:string;
}

interface Both extends Obj, ServiceResponse {

}

class SomeData implements Both {
    a:string;
    b:string;
    c:string;
    d:string;
}

var test: Obj = new SomeData(); // Works fine

Here是此类型的TypeScript Playground,然后向下转换结果。