Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/432.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在使用DataTables时维护Ember数据的双向绑定?_Javascript_Ember.js_Datatables_Ember Data - Fatal编程技术网

Javascript 如何在使用DataTables时维护Ember数据的双向绑定?

Javascript 如何在使用DataTables时维护Ember数据的双向绑定?,javascript,ember.js,datatables,ember-data,Javascript,Ember.js,Datatables,Ember Data,我正在使用Ember进行一个项目,我有一个表组件。它是在HTML/Handlebar中创建的,并使用jquery初始化为 当初始化为Datatable时,该表不再响应refreshModel:页面上的queryParams为true,并且Ember数据的双向绑定丢失。这对我来说是很重要的功能,所以我想知道是否有一种方法可以同时兼顾这两个方面 component.js中的jquery是: import Component from '@ember/component'; export defau

我正在使用Ember进行一个项目,我有一个表组件。它是在HTML/Handlebar中创建的,并使用jquery初始化为

当初始化为Datatable时,该表不再响应refreshModel:页面上的queryParams为true,并且Ember数据的双向绑定丢失。这对我来说是很重要的功能,所以我想知道是否有一种方法可以同时兼顾这两个方面

component.js中的jquery是:

import Component from '@ember/component';

export default Component.extend({

  model: null,

  didInsertElement() {
    let table = $('#resultsTable').DataTable({
      dom: 'Bfrtip',
      paging: false,
      scrollY: 500
    });


  },

});
该表在初始渲染时是正确的,但更改其中一个查询参数不会刷新数据。我尝试按如下方式重新播放:

  didUpdateAttrs() {
    let table = $('#resultsTable').DataTable({
      destroy: true,
      dom: 'Bfrtip',
    });
  }
这在某种程度上是可行的,但会产生一些不希望出现的行为,例如表更新,但不更新“Showing x results”小部件,或者更新需要很长时间。如果不销毁该表,我将收到如下错误:

DataTables warning: table id={id} - Cannot reinitialise DataTable. 
这是所描述的Datatables库的一个限制


欢迎您的想法

使用是不是一种选择?结合起来会很痛苦,而在ember中这么做很容易。我可能应该提到,我的Datatables用例的杀手级功能是使用按钮库轻松创建CSV、XLS和PDF文件,我不认为ember table或ember light table具有类似的功能,是吗?CSV、XLS和PDF创建都连接到可视化显示库,这让我感到困惑。通常情况下,您可以彼此独立地执行此操作。生成CSV很容易,而对于XLS则有。PDF有点依赖于格式,但解决方案可能只是使用打印功能。还有图书馆。您还可以从datatables中提取pdf/csv/xls代码。似乎用于pdf。我很想看到一个灰烬插件来完成这一切