Vue3 ECharts Uncaught TypeError: Cannot read properties of undefined (reading ‘type‘) + (reading ‘0‘

16 篇文章 0 订阅

使用ResizeObserver监听ECharts宽高变化,出现了以下两种报错,外加图表与数据错位的问题。

报错一

报错二

图表错位

原因

ECharts会被在Vue内部转换成响应式对象,从而在resize 的时候获取不到

使用 Vue的API , markRaw,标记一个对象,使其不能成为一个响应式对象

markRaw:响应式 API:进阶 | Vue.js

正确使用

import { markRaw } from "vue";

const myChart = ref();

// 初始化echart
myChart.value = markRaw(echarts.init(document.getElementById('main')));

  myChart.value = markRaw(echarts.init(document.getElementById(props.id) as HTMLDivElement));

一定要切记使用markRow()

正确效果

完整示例(包含封装ECharts和适配跟随窗口宽高变化而变化)CSDN

参考:https://blog.csdn.net/xh1506101064/article/details/133675807?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171049066016800226517872%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=171049066016800226517872&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-1-133675807-null-null.142^v99^pc_search_result_base6&utm_term=Uncaught%20TypeError%3A%20Cannot%20read%20properties%20of%20undefined%20%28reading%20type%29&spm=1018.2226.3001.4187

 欢迎扫描下方二维码关注VX公众号

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
引用中的错误信息是app.js:167 Uncaught TypeError: Cannot read properties of undefined (reading 'install'),这个错误发生在Vue.use函数中,说明在使用Vue.use时出现了问题。具体原因可能是在引入的vue模块中找不到install属性。引用中的错误信息是export 'VueRouter' (imported as 'VueRouter') was not found in 'vue-router',这个错误发生在导入vue-router模块时,说明在vue-router模块中找不到名为VueRouter的导出。最后,引用中的修改部分可能是在修改json数据的format函数,其中对rate属性进行了修改,将其设为params.data.rate或者0。但是,以上引用的内容与echarts.js:1590 Uncaught TypeError: Cannot read properties of undefined (reading 'type')这个错误之间似乎没有直接的联系。这个错误可能是由于在echarts.js的1590行尝试读取一个未定义属性type导致的。要解决这个错误,可能需要检查echarts.js中的代码并查找导致这个错误的原因。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [【Vue报错】app.js:167 Uncaught TypeError: Cannot read properties of undefined (reading ‘install‘)](https://blog.csdn.net/weixin_56035334/article/details/126882218)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *3* [echarts echarts.js:440 Uncaught TypeError: Cannot read properties of null (reading ‘toFixed‘)](https://blog.csdn.net/qq_48203828/article/details/124306783)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值