Javascript 如何在使用DataTables时维护Ember数据的双向绑定?
我正在使用Ember进行一个项目,我有一个表组件。它是在HTML/Handlebar中创建的,并使用jquery初始化为 当初始化为Datatable时,该表不再响应refreshModel:页面上的queryParams为true,并且Ember数据的双向绑定丢失。这对我来说是很重要的功能,所以我想知道是否有一种方法可以同时兼顾这两个方面 component.js中的jquery是: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
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。我很想看到一个灰烬插件来完成这一切