Vue项目中使用Axios和ECharts绘制图表时,图表无法显示,这通常是由于Axios异步请求导致的渲染时机问题。本文将分析并解决此问题,代码示例基于Axios获取PHP数据,并在ECharts中绘制图表。
问题: Axios请求数据完成之后,ECharts图表未能正确渲染,主要原因是ECharts的setOption
方法在Axios请求返回数据之前执行,导致数据为空。
原始代码 (存在问题):
解决方案: 将myChart.setOption(option)
方法移入axios.get()
的then
回调函数中,确保在数据获取完成后再渲染图表。
修改后的代码 (已解决):
通过将setOption
方法放在then
回调函数内,确保数据已加载完毕再渲染图表,从而解决图表无法显示的问题。 代码中也修正了一些细节,例如使用let
代替var
,以及更清晰的ECharts配置。 无需额外创建arrtest
函数。