【问题标题】:How can I define an interface in an exported Typescript class?如何在导出的 Typescript 类中定义接口?
【发布时间】:2015-08-12 05:17:23
【问题描述】:

在 Typescript 中使用 jQuery 数据表的这段代码运行良好:

interface JQuery 
{
    dataTable: any;
}

class Grid extends Widget
{
    public data: any;

    public someMethod()
    {
        //apply datatables to the grid element
        $('#someId').dataTable(this.data);
    }
}

但现在我需要export 网格类以在另一个模块中使用。然而,当我尝试这个时,我得到了这个错误:

Error   146 Property 'dataTable' does not exist on type 'JQuery'.   

如何保留我的 jQuery 接口,以便能够使用 datatable 方法,但能够导出类?

【问题讨论】:

    标签: typescript


    【解决方案1】:

    当你在外部模块中声明接口时,它变成了一个不与内部接口合并的新接口。所以你应该把接口声明移动到单独的.d.ts文件中。

    【讨论】:

    • 导出类后,模块会自动外部吗?此接口在导出的类之外
    • 如果文件定义了外部模块,这个文件的接口从外部变得不可见。所以它是一个新的,没有合并。就像你声明JQuery2 接口一样。
    猜你喜欢
    • 1970-01-01
    • 2015-07-27
    • 1970-01-01
    • 2019-04-30
    • 2020-04-26
    • 2017-05-31
    • 2021-07-06
    • 1970-01-01
    • 2015-08-23
    相关资源
    最近更新 更多