gpt4 book ai didi

typescript - 使用 typescript 扩展 JQueryStatic

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

到目前为止,我已经像这样向 JQuery 添加了扩展方法:

module JQueryExtensions {
export function foo() {
...
}
}
interface JQuery {
foo(): JQuery;
}
(function ($) {
$.fn.foo = function (): JQuery {
...
return this;
};
})(jQuery);

它非常适合作为 JQuery 实例的扩展方法,例如 $('selector').foo()。但现在我需要添加一个静态函数才能像 $.foo(); 一样调用它;

我试过像这样用“JQueryStatic”替换“JQuery”:

module JQueryExtensions {
export function foo() {
...
}
}
interface JQueryStatic{
foo(): JQuery;
}
(function ($) {
$.fn.foo = function (): JQuery {
...
return this;
};
})(JQueryStatic);

但它给了我以下错误:“找不到名称‘JQueryStatic’。”

最佳答案

只需传递 jQuery(函数/类型定义)而不是 JQueryStatic(接口(interface))并使用 $.foo =(静态方法)代替$.fn.foo =(实例方法)

(function ($:JQueryStatic) {
$.foo = function (): JQuery {
...
};
})(jQuery);

关于typescript - 使用 typescript 扩展 JQueryStatic,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38681212/

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