首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DefinitelyTyped用于JQuery插件

DefinitelyTyped用于JQuery插件
EN

Stack Overflow用户
提问于 2015-12-16 06:20:34
回答 1查看 286关注 0票数 1

我试图为地理完整的.d.ts插件编写jQuery文件。我是TypeScript的新手。我在我的.d.ts文件中添加了以下内容:

代码语言:javascript
复制
/// <reference path="jquery.d.ts"/>

interface GeoOptions {
    map: string,
    mapOptions? : MapOption,
}

interface MapOption extends  GeoOptions {
    zoom : number
}

interface JQuery {
    geocomplete(): JQuery;
    geocomplete(options: GeoOptions): JQuery;
}

但是我不能像这样初始化插件

代码语言:javascript
复制
 $('#geomap').geocomplete(
            {
                map: ".map",
                mapOption: { zoom: 10 },

            });

我的代码有什么问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-16 08:08:39

问题在您的interface jQuery中,因为jQuery只是变量,您不能重新声明接口,jquery.d.ts文件说,jQuery是带有jQueryStatic类型的变量。因此,我们需要重新声明jQueryStatic而不是jQuery

所以,亲爱的朋友,我今天花了更多的时间给你,写了你需要的东西)

代码语言:javascript
复制
/// <reference path="jquery.d.ts"/>

interface GeoOptions {
    map: string,
    mapOptions? : MapOption,
}

interface MapOption extends GeoOptions {
    zoom : number
}


interface JQueryStatic {
    geocomplete():JQueryStatic;
    geocomplete(options:GeoOptions):JQueryStatic;
}

declare var jQuery: JQueryStatic;
declare var $: JQueryStatic;

jQuery.geocomplete();
$.geocomplete();

现在,它应该完美地工作!享受吧!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34305181

复制
相关文章

相似问题

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