我目前在研究jquery小部件。我所做的是将一个有效的javascript代码转换为jquery小部件。 因此,目标是能够创建图表并在新数据到达时更新它。在我要向您展示的代码中,我只是使用超时来更新数据。
如果你正在使用chartjs,你肯定知道你需要调用 destroy 来删除chartjs创建的iframe,然后重新创建它成功更新数据。
我能够重绘图表但是当你将它悬停时,我仍然可以看到上一张图表。我知道只有在我没有正确销毁它的情况下才会发生这种情况。但我有这个代码应该破坏iframe。
update: function() {
this.destroy();
this._create();
}
1)如果我没有删除iframe,那么是什么?
2)我将如何更正此代码?
答案 0 :(得分:0)
我认为我的代码问题是当我使用 this 然后调用destroy时。因为当你说这个时,我认为它指的是创建的元素而不是新的Chart(...)返回的内容。所以我所做的是保存新图表(...)返回的值,然后使用它来销毁图表。看看我是如何在jsFiddle
中做到的options : {
labels : [],
data : [],
pieChart: null
},update: function(){
pieChart.destroy();
pieChart._create();
}
如果您有比我更多或更有意义的答案,请随时发布。谢谢:))