在vuejs中使用jQuery数据表

在vuejs中使用jQuery数据表,jquery,mysql,datatable,vue.js,Jquery,Mysql,Datatable,Vue.js,我的场景: 嘿,我正在维护一个系统,该系统从数据库检索数据,然后将该数据传递到vue.js,然后在jQuery数据表中显示该数据 我遇到的问题是,最初初始化DataTables时,数据似乎保存在我初始化的表中。 当我检索新信息时,它不会更新现有数据,并且会破坏表 另外,从请求返回的数据正是我所需要的,只是数据表给了我一个问题 我所尝试的: 使用$('#table').DataTable.destroy()销毁表,然后重新初始化:要么说无法重新初始化数据表,要么像往常一样显示旧数据 使用新ID重新

我的场景: 嘿,我正在维护一个系统,该系统从数据库检索数据,然后将该数据传递到vue.js,然后在jQuery数据表中显示该数据

我遇到的问题是,最初初始化DataTables时,数据似乎保存在我初始化的表中。 当我检索新信息时,它不会更新现有数据,并且会破坏表

另外,从请求返回的数据正是我所需要的,只是数据表给了我一个问题

我所尝试的:

使用
$('#table').DataTable.destroy()
销毁表,然后重新初始化:要么说无法重新初始化数据表,要么像往常一样显示旧数据

使用新ID重新初始化表,并将当前表ID更改为新ID:just not work将表显示为普通表而不是datatable

我的问题:

如何将DataTables与vuejs结合使用,在不刷新页面的情况下提取新数据

如何删除和重新初始化数据表

编辑:如果还有其他类似DataTables的插件,那么我很想了解它们

如何将DataTables与vuejs结合使用,在不刷新的情况下提取新数据 那一页

让Datatable执行此任务并使用其服务器端处理功能:

如果您使用的是Vue 1.x,并且希望操作按钮能够正常工作,例如:您在json中返回一个带有未编译Vue指令的html-您可以在每次获取新数据时重新编译datatables包装器:

$('#datatable').dataTable({
   ...
    drawCallback: function (settings) {
        var $element = $('#datatable');
        vm.$compile($element.get(0)); // vm refers to Vue instance
    },
 ...
});

注意:$compile已在Vue 2.x

中删除。对于客户端数据,您可能可以执行以下操作:

dataTable.clear().draw();
dataTable.rows.add(newDataArray).draw();
(无耻的插件)我还编写了一个包装器插件,可以帮助直接与服务器端集成:


MIT,您可以随意使用它,也可以浏览代码,了解如何在Vue中使用jQuery数据表。

看看@gurghet,谢谢您的介绍!但表格中需要的一个重要技巧是它必须是可排序的。我对vue.js不是很在行,不知道如何使用此表中使用的大多数组件。它是可排序的,很抱歉自述文件中不清楚。特别是可按数字、词典和自定义函数进行排序。关于组件,您不需要它们,它们是可选的。只需在watch或computed属性中使用数据表的重画函数这里是draw函数的官方文档v2的替代方案是什么?