我正在使用ExtJS 4来创建图表。每次进行AJAX调用时都会实例化图表。像这样:
$("#maincontent").getJSON("path/to/jsondata",function(data) {
_chart.chart = Ext.create("Ext.chart.Chart", {
axes : _chart.axes()
, style : 'background:#fff'
, series : _chart.series()
, store : _chart.store()
, renderTo : $("#chart").get(0)
, width : Sybus.Utils.mainWidth()
, height : Sybus.Utils.mainHeight()
});
});
我调用AJAX调用的次数越多,页面上的图表就越多。如何防止这种情况发生并只有一个图表?谢谢。
答案 0 :(得分:0)
与this question类似,我已根据此情况调整了答案。
这个问题的答案来自ExtJS的责任。上面的代码示例缺少问题的原因。
我已经构建了一个类,它将绑定事件绑定到构建图表的函数。每次我调用检索图表数据的AJAX调用时,该函数都会在顶部堆叠另一个绑定,因此会有多个图表。
解决方案是检查您是否已经绑定了该事件,或者unbind()
该事件,然后重新bind()
。