【问题标题】:Property does not exist on type JQueryStaticJQueryStatic 类型上不存在属性
【发布时间】:2017-07-22 11:45:47
【问题描述】:

我编写了一个 jQuery 插件,其中使用了 jQuery 的内部 _data 方法。 这会导致上面的编译器错误。

(function ($) {     

var evts = $._data(document, 'events'); // internal method
....

我可以抑制这个错误吗?如何抑制? 解决此问题的推荐方法是什么?

我知道我可以做到以下几点:

$["_data"]

($ as any)._data

但我更愿意将$._data 设为有效的方法调用。

【问题讨论】:

    标签: javascript jquery visual-studio typescript typescript2.0


    【解决方案1】:

    但我更愿意将 $._data 设为有效的方法调用。

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

    如果您希望安全地完成此类不安全的访问,您可以扩展JQuery interface with new functionality

    interface JQuery {
      _data: any; // Replace with your types
    }
    

    【讨论】:

      【解决方案2】:

      你可以试试:

      declare var $: any;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-01-01
        • 2021-01-09
        • 2021-07-10
        • 2023-03-26
        • 2023-04-02
        • 2019-12-20
        • 2021-12-07
        相关资源
        最近更新 更多