gpt4 book ai didi

javascript - 我是否需要使用 TypeScript 在 JQueryStatic 定义文件中声明所有 JQuery 原型(prototype)?

转载 作者:搜寻专家 更新时间:2023-10-30 21:55:03 26 4
gpt4 key购买 nike

我有以下代码:

///<reference path="../typescript/jquery.d.ts" />

function addThemePrototypes() {
var templateSetup = new Array();
$.fn.addTemplateSetup = function(func, prioritary)
{
if (prioritary)
{
templateSetup.unshift(func);
}
else
{
templateSetup.push(func);
}
};
}

当我尝试添加以下内容时:

  $('a').addTemplateSetup(

在同一个文件中,我注意到没有智能感知, typescript 似乎不知道我刚刚添加的 addTemplateSetup 原型(prototype)。

这是它工作的正确方法还是我总是需要将 addTemplateSetup 的定义添加到 JQueryStatic 定义文件然后包含它?

最佳答案

您需要以某种方式声明它以使 Typescript 不报错,最简单的方法是将其声明为任何:

interface JQuery {
addTemplateSetup: any;
}

但是为了获得最好的智能感知支持,还要添加有关参数类型的信息:

interface JQuery {
addTemplateSetup: (func: Function, priority: bool) =>void;
}

关于javascript - 我是否需要使用 TypeScript 在 JQueryStatic 定义文件中声明所有 JQuery 原型(prototype)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13170905/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com