到目前为止,我已经向JQuery添加了如下扩展方法:
module JQueryExtensions {
export function foo() {
...
}
}
interface JQuery {
foo(): JQuery;
}
(function ($) {
$.fn.foo = function (): JQuery {
...
return this;
};
})(jQuery);
它可以很好地作为选择器实例的扩展方法,比如$(‘JQuery’).foo()。但是现在我需要添加一个静态函数来调用它,比如$.foo();
我尝试将"JQuery“替换为"JQueryStatic”,如下所示:
module JQueryExtensions {
export function foo() {
...
}
}
interface JQueryStatic{
foo(): JQuery;
}
(function ($) {
$.fn.foo = function (): JQuery {
...
return this;
};
})(JQueryStatic);
但是它给了我以下错误:“找不到名字‘JQueryStatic’。”
发布于 2016-08-01 05:09:50
只需传递jQuery
(函数/类型定义)而不是JQueryStatic
(接口),使用$.foo =
(静态方法)而不是$.fn.foo =
(实例方法)
(function ($:JQueryStatic) {
$.foo = function (): JQuery {
...
};
})(jQuery);
https://stackoverflow.com/questions/38681212
复制