我有一个名为IContact
的接口,它将作为单个对象或数组包含在响应对象中。我试图在界面中编写代码
export interface ResponseObject {
data:IContact|Array<IContact>;
}
但我得到了
错误TS2339:类型'IContact |上不存在属性'name' IContact接口[]”。
换句话说
我的应用使用data:IContact
编译,只需添加“| string”即可使data:IContact|string
失败并出现上述错误。
我应该如何正确定义界面?
答案 0 :(得分:3)
它工作正常,如下所示:
interface IContact {
name: string;
}
interface ResponseObject {
data: IContact|Array<IContact>;
}
var response: ResponseObject = {
data: {
name: '123'
}
};
注意:
a。)确保为visual studio安装了TS 1.4。
b。)除非您使用beta频道,否则Webstorm不支持TS 1.4。