为什么我的接口联合不起作用?
Why doesn't my Union of interfaces work?
我有一个名为 IContact
的接口,它将作为单个对象或数组包含在响应对象中。我试过在界面中编写代码
export interface ResponseObject {
data:IContact|Array<IContact>;
}
但我得到
error TS2339: Property 'name' does not exist on type 'IContact | IContact[]'.
换句话说
我的应用程序使用 data:IContact
进行编译,只需添加“|string”即可使 data:IContact|string
它因上述错误而失败。
我应该如何正确定义我的接口?
它工作正常,如下所示:
interface IContact {
name: string;
}
interface ResponseObject {
data: IContact|Array<IContact>;
}
var response: ResponseObject = {
data: {
name: '123'
}
};
备注:
a.) 确保为 visual studio 安装了 TS 1.4。
b.) Webstorm 不支持 TS 1.4,除非您使用 beta 频道。
我有一个名为 IContact
的接口,它将作为单个对象或数组包含在响应对象中。我试过在界面中编写代码
export interface ResponseObject {
data:IContact|Array<IContact>;
}
但我得到
error TS2339: Property 'name' does not exist on type 'IContact | IContact[]'.
换句话说
我的应用程序使用 data:IContact
进行编译,只需添加“|string”即可使 data:IContact|string
它因上述错误而失败。
我应该如何正确定义我的接口?
它工作正常,如下所示:
interface IContact {
name: string;
}
interface ResponseObject {
data: IContact|Array<IContact>;
}
var response: ResponseObject = {
data: {
name: '123'
}
};
备注:
a.) 确保为 visual studio 安装了 TS 1.4。
b.) Webstorm 不支持 TS 1.4,除非您使用 beta 频道。