首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将JQueryStatic扩展为没有定义文件的JQuery插件

将JQueryStatic扩展为没有定义文件的JQuery插件
EN

Stack Overflow用户
提问于 2016-07-20 08:00:44
回答 1查看 960关注 0票数 1

我用IFrame传输插件表示JQuery。它在iframe接口上引入了一个新的属性JQueryAjaxSettings。不幸的是,插件没有定义文件,这意味着它会在Intellisense和编译项目时抛出错误,因为我必须在代码中使用这个iframe属性。

因此,我在一个单独的d.ts文件中创建了两个新接口来扩展JQuery的定义文件:

代码语言:javascript
复制
interface JQueryIframeTransportStatic extends JQueryStatic {
    ajax(settings: IJQueryIframeTransportAjaxSettings): JQueryXHR;
}

interface IJQueryIframeTransportAjaxSettings extends JQueryAjaxSettings {
    iframe: boolean;
}

但是,这会在编译时引发以下错误:

TS2430: Build:接口'JQueryStaticIframeTransport‘错误地扩展了接口'JQueryStatic’。

我看到TypeScript可能被我的接口引入的新ajax函数搞混了。但它有不同的签名。我还能怎么做呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-26 08:28:29

接口可以这样扩展:

代码语言:javascript
复制
interface JQueryStatic {
    ajax(settings: IJQueryIframeTransportAjaxSettings): JQueryXHR;
}

interface IJQueryIframeTransportAjaxSettings extends JQueryAjaxSettings {
    iframe: boolean;
}

这只是添加了新的函数声明,而不需要extends构造。在此基础上,您可以只使用一个声明,即。

代码语言:javascript
复制
interface JQueryAjaxSettings {
    iframe: boolean;
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38475608

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档