JQueryStatic类型上不存在属性

Leg*_*nds 6 javascript jquery visual-studio typescript typescript2.0

我编写了一个jQuery插件,我使用jQuery的内部_data方法.这导致上述编译器错误.

(function ($) {     

var evts = $._data(document, 'events'); // internal method
....
Run Code Online (Sandbox Code Playgroud)

我可以抑制这个错误吗?处理此问题的推荐方法是什么?

我知道我可以做以下事情:

$["_data"]
Run Code Online (Sandbox Code Playgroud)

要么

($ as any)._data
Run Code Online (Sandbox Code Playgroud)

但我更愿意进行$._data有效的方法调用.

bas*_*rat 5

但我更喜欢使 $._data 成为有效的方法调用。

这些类型故意不允许内部 API 调用,因为jquery 团队不希望您使用这些方法。如果您想编写这样的不安全代码,您可以$ as any按照您的想法随意使用。

如果您希望安全地完成此类不安全访问,您可以JQuery使用新功能扩展接口

interface JQuery {
  _data: any; // Replace with your types
}
Run Code Online (Sandbox Code Playgroud)