我有一个以标准方式工作的 jQuery 插件:
$.fn.doSomething = function () {
//do something to each item in the list
}
在常规 javascript 中,我可以调用 doSomething
,就好像它确实是 jQuery 的一部分一样:
$(selector).doSomething();
使用 jquery.d.ts
引用的 Typescript 与 jQuery 配合得很好,但对我的插件一无所知,所以我得到:
The property 'doSomething' does not exist on value of type 'JQuery'.
那么我如何告诉 TypeScript 我添加的附加功能呢?
最佳答案
您需要插件的类型定义文件。
一些常见的库可以在这里(并通过nuget)https://github.com/borisyankov/DefinitelyTyped
您可能需要在 google 上搜索一下,看看您的作品是否已由某人制作。如果没有,您只需要自己制作。
例如,如果我希望能够执行 $('#idOfElement').autosize();
我将创建一个包含以下代码的 .d.ts 文件:
interface JQuery {
autosize(): JQuery;
}
或者自动大小可能需要一些选项,在这种情况下你可以这样定义它:
interface JQuery {
autosize(): JQuery;
autosize(options: autosizeOptions): JQuery;
}
interface autosizeOptions {
className?: string;
append?: string;
callback?: any;
}
关于jquery - 如何让 TypeScript 与 jQuery 插件配合使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21295970/