【问题标题】:Datatables.net throwing TS2339 error with isDataTables on TS 2.3.4Datatables.net 在 TS 2.3.4 上使用 isDataTables 引发 TS2339 错误
【发布时间】:2017-06-09 19:08:45
【问题描述】:

使用 datatables.net 运行 Angular 2、Typescript 2.3.4、Node 6.10.3:

├── @types/jquery.datatables@1.10.36
├── datatables.net@2.1.1
├── datatables.net-buttons@1.3.1
├── datatables.net-buttons-zf@1.3.1
├── datatables.net-responsive@2.1.1
├── datatables.net-responsive-zf@2.1.1
├── datatables.net-zf@2.1.1

toggleTable 代码开始抛出 TS2339:

error TS2339: Property 'isDataTable' does not exist on type '{ (param?: ResponsiveDataTablesSettings): DataTable; (param?: Settings): DataTable; }'.

toggleTable() {
    if (! $.fn.DataTable.isDataTable('#sample-table')) {
        this.setupSampleTable();
    }
    this.table = !this.table;
}

node_modules/@types/jquery.datatables/index.d.ts的相关部分是:

interface JQuery {
    DataTable(param?: DataTables.Settings): DataTables.DataTable;
}

export interface StaticFunctions {
    /**
    * Check is a table node is a DataTable or not
    *
    * @param table Selector string for table
    */
    isDataTable(table: string): boolean;

如何修复 DataTable 上的类型?

【问题讨论】:

    标签: angular typescript datatables


    【解决方案1】:

    只需在它前面添加: if (($.fn.DataTable).isDataTable('#sample-table')) {

    【讨论】:

      猜你喜欢
      • 2020-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-19
      • 1970-01-01
      • 2020-03-25
      相关资源
      最近更新 更多