我有以下代码:
///<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(
在同一个文件中,我注意到没有intellisense,而且typescript似乎不知道我刚刚添加的addTemplateSetup原型。
这是它正常工作的方式还是我总是需要将类似addTemplateSetup的定义添加到JQueryStatic定义文件然后包含它?
答案 0 :(得分:1)
您需要以某种方式声明它以使Typescript不会抱怨,最简单的方法是将其声明为:
interface JQuery {
addTemplateSetup: any;
}
但要获得最佳的智能感知支持,请添加有关参数类型的信息:
interface JQuery {
addTemplateSetup: (func: Function, priority: bool) =>void;
}