我在通过异步Ajax调用动态创建Highcharts时遇到问题:有时后续图表会从其他容器中删除之前的图表。这是方案: 1.从ajax异步数据同时创建6至8个图表。每个图表都分配给一个动态数组,并在渲染之前销毁:
if (charts[chID] != null) {
charts[chID].destroy();
}
然后我们创建一个图表:
charts[chID] = new Highcharts.Chart(chartOptions);
正如我提到的,所有这些图表都是通过异步ajax调用同时创建的。 问题是第一次运行后缺少某些图表;之后,所有图表都将正确呈现。调试代码表明,丢失的图表实际上是创建的,但是随后的图表将其删除。 Chrome开发者的屏幕截图。工具: 三个图表(4,5,6)都可以
这些“丢失”的图表非常不规则-有时仅丢失一张图表,有时丢失2或3。第二次运行例程总是可以解决问题,并且所有图表都可以正确显示。我想这是因为数组图表[]已经创建。
我尝试跳过图表销毁功能,将图表数组更改为对象,之前启动了数组图表[],但没有任何帮助。
请注意,该代码不会产生任何错误,也不会丢失div。
任何建议在哪里挖?
谢谢!