到目前为止,我已经为
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(接口)并使用$.foo =(静态方法)而不是$.fn.foo =(实例方法)
(function ($:JQueryStatic) {
$.foo = function (): JQuery {
...
};
})(jQuery);