【发布时间】:2019-11-20 13:30:45
【问题描述】:
所以我正在构建一个交易工具并使用 chartJS 制作图表。这就是我的图表现在在页面上的样子:
所以我的问题是,当我更改图表的时间段时,图表随机显示旧数据与新数据混合。
您可以在此处查看行为:https://gifyu.com/image/vda5
目前我不能在同一页面上同时使用大图表和小图表,因为有计时周期的大图表也有多个 AJAX 调用,所以每次我点击“1W”时,例如,一个新的正在调用并绘制图表。
我尝试过的事情:
我知道对于chartJS中的动态图表我必须销毁图表,所以我正在使用
if (window.chart !== undefined) window.chart.destroy();
对于小图表,我使用一个空数组并将元素推入其中。这是我的做法:
if ($(quoteDisplayEl).hasClass('quoteDisplay-light')) {
chartHandel.push(quoteChart);
} else {
window.chart = quoteChart;
}
因此,对于大图表,我将其分配给全局变量,将小图表分配给空数组 - 这样我可以在一页上拥有多个图表。
但是为了销毁大图表,我应该从头开始销毁并重新渲染所有图表(我猜),我尝试了多种方法来实现这一目标。
不幸的是,代码超过 500 行,并且有大量来自 API 和 DB 的可变数据,因此我无法制作小提琴演示。
【问题讨论】:
标签: javascript jquery chart.js chart.js2