【报错】nginx部署项目后Echarts折线图无法展示

简介: 在Vue3+TS+Arco项目中,打包后使用Nginx部署的Echarts折线图显示异常,报`Cannot read properties of undefined(reading 'setOption')`错误。问题源于在定义div时使用了Vue2的`$refs`语法,导致DOM元素无法正确初始化Echarts。解决方法有两种:1) 不推荐使用`document.getElementById`获取DOM并初始化Echarts;2) 推荐在Vue3中通过`ref`获取DOM,在`onMounted`中使用`echarts.init`并借助`nextTick`异步绘制数据。

@[TOC]

一、报错

vue3+TS+Arco项目打包之后nginx部署之后Echarts折线图无法正常展示,报错信息如下

在这里插入图片描述

二、分析

原因是在定义div时,使用了vue2中的$refs语法,渲染dom进行绘制echarts时,拿到dom元素之后无法进行 init 初始化,因此 Cannot read properties of undefined(reading 'setOption')报错。

在这里插入图片描述
在这里插入图片描述

三、解决

1、解决方式一,不建议使用

在取dom元素进行渲染时,使用原生的 document.getElwmwntById进行拿取 dom 元素,之后就可正常对echart 进行 init 初始化

在这里插入图片描述

在这里插入图片描述

2、解决方式二,建议使用

  • 使用ref获取div
  • 定义const echart = ref();
  • 在onmounted中进行init:echarts.init(echart.value, 'macarons');
  • 使用nextTick进行异步绘制数据
    ```js

```

四、小Tips

输入 cmd 进入命令行窗口

在这里插入图片描述
在这里插入图片描述

相关文章
|
24天前
echarts 柱状图/折线图x轴坐标间隔
echarts 柱状图/折线图x轴坐标间隔
12 0
|
23天前
【统计图】Echarts实现多条折线图渐变堆叠效果
【统计图】Echarts实现多条折线图渐变堆叠效果
|
5月前
设置echarts的grid、tooltip、柱状图渐变色、折线图渐变色
设置echarts的grid、tooltip、柱状图渐变色、折线图渐变色
|
6月前
|
JSON 数据格式
ECharts折线图渲染json格式数据(格式为对象)
ECharts折线图渲染json格式数据(格式为对象)
55 0
|
6月前
|
JSON 数据格式
ECharts折线图渲染json格式数据(格式为数组)
ECharts折线图渲染json格式数据(格式为数组)
46 0
|
6月前
|
JSON 数据格式
Echarts折线图的折线实线设置成虚线
Echarts折线图的折线实线设置成虚线
85 0
|
6月前
|
JSON 数据格式
Echarts+ajax实现一个简单折线图
Echarts+ajax实现一个简单折线图
33 0
|
6月前
|
JSON 数据格式
Echarts分段折线图图例样式visualMap颜色修改
Echarts分段折线图图例样式visualMap颜色修改
67 1
|
3月前
|
数据可视化
echarts图表坐标轴数据标签添加下划线
echarts图表坐标轴数据标签添加下划线
55 0
|
3天前
|
数据可视化 JavaScript 前端开发
Echarts是一个开源的JavaScript可视化库,用于创建各种类型的图表
Echarts是JavaScript的开源可视化库,Python通过Pyecharts库可调用它来绘制图表。示例展示了如何用Pyecharts创建柱状图:定义图表对象,设置标题和坐标轴,添加X轴、Y轴数据,最后渲染展示。Pyecharts还支持折线图、散点图、饼图等多种图表类型,更多详情可查阅官方文档。
14 0