2014-07-15 39 views
3

在打字稿,是有可能做的那种东西:需要的功能参数,以实现多个接口

module module1 { 
    export interface Foo { 
     data1: string; 
    } 
    export interface Bar { 
     data2: string; 
    } 
    export function foobar(data: Foo & Bar) { 
     //do stuff 
     data.data1; data.data2; 
    } 
} 

也就是说,力foobar的数据参数,同时实现Foo和Bar?如果是这样,那么正确的语法是什么?

谢谢。

回答

3

你必须作出新的命名接口:

module module1 { 
    export interface Foo { 
     data1: string; 
    } 
    export interface Bar { 
     data2: string; 
    } 
    export interface FooAndBar extends Foo, Bar { } 
    export function foobar(data: FooAndBar) { 
     //do stuff 
     data.data1; data.data2; 
    } 
}