vue3中运用echarts出现的一些问题解决

文章详细描述了在使用Echarts5时遇到的两个问题及其解决方案。第一个问题是由于引入方式不正确导致的TypeError,通过改变Echarts的导入方式解决了。第二个问题是在DOM未加载完成时尝试初始化Echarts,通过将初始化代码放入Vue的onMounted钩子或延时函数中得以解决。
摘要由CSDN通过智能技术生成

问题一:

ERROR

Cannot read properties of undefined (reading 'init') TypeError: Cannot read properties of undefined (reading 'init')

 错误原因:echarts引入方式不对

查看我的package.json文件,echarts版本是5

 解决方案:在组件中将echarts4的引入方式import echarts from 'echarts'改为echarts5的引入方式

 import * as echarts from 'echarts'

 问题二:

ERROR

Initialize failed: invalid dom.

错误原因:无效的dom。是代码中还未加载出dom,就已经开始了echarts的初始化

<script lang="ts" setup>
// echarts5的引用方式
import * as echarts from 'echarts'

const myChart = echarts.init(document.getElementById("main"))
let option = {
  xAxis: {
    type: 'category',
    data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
  },
  yAxis: {
    type: 'value'
  },
  series: [
    {
      data: [120, 200, 150, 80, 70, 110, 130],
      type: 'bar',
      showBackground: true,
      backgroundStyle: {
        color: 'rgba(180, 180, 180, 0.2)'
      }
    }
  ]
};
myChart.setOption(option)

</script>

解决方案:将echarts的运用放入onMounted()中,或者将echarts的运用放入定时计时器中,延时加载

<script lang="ts" setup>
import { onMounted } from 'vue'
// echarts5的引用方式
import * as echarts from 'echarts'

onMounted( ()=>{
 const myChart = echarts.init(document.getElementById("main"))
 let option = {
  xAxis: {
    type: 'category',
    data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
  },
  yAxis: {
    type: 'value'
  },
  series: [
    {
      data: [120, 200, 150, 80, 70, 110, 130],
      type: 'bar',
      showBackground: true,
      backgroundStyle: {
        color: 'rgba(180, 180, 180, 0.2)'
      }
    }
  ]
};
 myChart.setOption(option)
})

</script>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值