到目前为止,我已经向JQuery添加了扩展方法,如下所示:
module JQueryExtensions {
export function foo() {
...
}
}
interface JQuery {
foo(): JQuery;
}
(function ($) {
$.fn.foo = function (): JQuery {
...
return this;
};
})(jQuery);
作为JQuery实例的扩展方法很好,比如$(' selector')。foo()。 但现在我需要添加一个静态函数,以便能够像$ .foo();
一样调用它我尝试过更换" JQuery"用" JQueryStatic"像这样:
module JQueryExtensions {
export function foo() {
...
}
}
interface JQueryStatic{
foo(): JQuery;
}
(function ($) {
$.fn.foo = function (): JQuery {
...
return this;
};
})(JQueryStatic);
但是它给了我以下错误:"找不到名字' JQueryStatic'。"
答案 0 :(得分:2)
只需传递jQuery
(函数/类型定义)而不是JQueryStatic
(接口)并使用$.foo =
(静态方法)而不是$.fn.foo =
(实例方法)
(function ($:JQueryStatic) {
$.foo = function (): JQuery {
...
};
})(jQuery);