如何使用Typescript停止“属性不存在typesJQuery”语法错误?
我只在我的应用程序中使用一行jQuery:
$("div.printArea").printArea();
但这是给我一个Typescript错误:
The property 'printArea' does not exist on type JQuery?
有人可以告诉我,我怎么能阻止这个错误出现?
你可以把它转换成<any>
或扩展jquerytypes来添加你自己的方法。
(<any>$("div.printArea")).printArea();
//或者添加自己的自定义方法(假设这是自定义插件的一部分)
interface JQuery { printArea():void; }
我认为这是最可读的解决scheme:
($("div.printArea") as any).printArea();
You can cast it to <any> (<any>$('.selector') ).function(); Ex: date picker initialize using jquery (<any>$('.datepicker') ).datepicker();
对于你的例子,你可以添加这个:
interface JQuery{ printArea():void; }
编辑:哎呀,basarat下面是正确的。 我不知道为什么我认为这是编译,但我已经更新了这个答案。
由于printArea是一个jQuery插件,它不包含在jquery.d.ts中。
您需要创build一个jquery.printArea.ts定义文件。
如果你为这个插件创build了一个完整的定义文件,你可能想把它提交给DefinitelyTyped 。