这个问题可以通过对数据的重新加载来解决。
首先,在组件中定义一个变量来保存数据的来源:
data: any = null;
接着,在ngOnInit()函数中执行Ajax调用,并将返回的数据保存在该变量中:
ngOnInit() {
this.http.get('https://api.example.com/data').subscribe(data => {
this.data = data;
});
}
在DataTable选项中,使用ajax.source选项来指定数据的来源:
datatableOptions = {
...
ajax: {
source: this.data,
...
}
};
最后,为了能够重新加载数据,需要在组件中定义一个重新加载数据的函数:
reloadData() {
this.http.get('https://api.example.com/data').subscribe(data => {
this.data = data;
let table = $('#myTable').DataTable();
table.ajax.reload();
});
}
当需要重新加载数据时,调用reloadData()函数即可。
注意:需要在模板中指定DataTable的ID为myTable,例如: