[英]Unable to extend interface in Typescript with data property on even with the same data type
我对Typescript有一个奇怪的问题(使用Visual Studio 2012和TypeScript v0.9.5),希望有人可以解决。
以下代码可以正常工作:
interface IA {
data: any;
}
interface IB {
data: any;
}
interface IC extends IA, IB { }
但是,将声明用于JQueryEventObject
,如下所示:
interface JQueryEventObject extends BaseJQueryEventObject,
JQueryInputEventObject, JQueryMouseEventObject, JQueryKeyEventObject,
JQueryPopStateEventObject { }
并且BaseJQueryEventObject声明在哪里:
interface BaseJQueryEventObject extends Event {
data: any;
delegateTarget: Element;
isDefaultPrevented(): boolean;
isImmediatePropogationStopped(): boolean;
...
}
当我尝试这样做时:
interface IMyInterface {
data: any;
}
interface IMyCombinedInterface extends JQueryEventObject, IMyInterface { }
它抱怨以下消息:
接口IMyCombinedInterface
不能同时延伸类型JQueryEventObject
和IMyInterface
:属性的类型data
类型的JQueryEventObject
和IMyInterface
是不相同的。
有人知道我在做错什么吗,或者这可能是一个错误?
使用最新的TypeScript(1.5)+ IDE可以很好地进行以下编译:
interface JQueryEventObject extends BaseJQueryEventObject,
JQueryInputEventObject, JQueryMouseEventObject, JQueryKeyEventObject { }{ }
interface IMyInterface {
data: any;
}
interface IMyCombinedInterface extends JQueryEventObject, IMyInterface { }
是一个错误,但此后已修复。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.