欢迎来到站圈网!

php远程媒体七牛node摇摇

投稿中心

JavaScript

当前位置: 主页 > Web前端 > JavaScript

Vue3中echarts无法缩放的问题及解决方案

时间:2022-11-24|作者:coder-daily|点击:

目录

前言

实际工作中,使用到vue和echarts技术。项目原来用的vue2+echarts4,后来更新到了vue3+echarts5,结果遇到echarts无法绽放的问题。

问题描述

官网示例正常

1、打开echarts官网示例:https://echarts.apache.org/examples/zh/editor.html?c=area-rainfall
这个示例的缩放功能是正常的。如下图:

Vue3中echarts无法缩放的问题及解决方案

官网示例在本地缩放异常

把上面这个demo的option复制到本地环境,运行效果:初始渲染正常,拖动缩放把手就报js错误。如下图:

Vue3中echarts无法缩放的问题及解决方案

点击进入错误堆栈,发现报seriesModel的coordinateSystem这个属性为undefined

Vue3中echarts无法缩放的问题及解决方案

开始以为是echarts版本与官网的版本不一致引起,结果更新本机的echarts跟官网的echarts版本一致。下载官网的echarts跟本机的echarts进行文件比对,发现一模一样。

灵光乍现

一番面向百度编程,最后找到一篇文章https://www.bilibili.com/read/cv18221565/。
重点就是两句话,如下图:

Vue3中echarts无法缩放的问题及解决方案

问题解决

找到解题思路之后修改代码,由于我的代码是vue2升级到vue3。vue2的版本中myChart对象是放在data里面的,升级到vue3只是简单的代码改写,myChart仍然放在data里面。代码如下:

const data = ref({
dataDriver: null,
chartConfig: null,
myChart: null
});

vue3中ref绑定的对象都是响应式的对象,对象中的属性值变动都经过vue3的proxy拦截处理。
因此如果是跟页面内容进行响应式绑定的值应该放在data里面,而我的图表用的是原生的echarts api自己绘制的,因此不需要做响应式绑定,如果绘制图表的数据发生变化,我自己会手工调用echarts进行重绘。因此我只需要把myChart从data中删除放到外面即可。如下图:

Vue3中echarts无法缩放的问题及解决方案

到此这篇关于Vue3中echarts无法缩放的问题及解决方案的文章就介绍到这了,更多相关Vue中echarts无法缩放内容请搜索站圈网以前的文章或继续浏览下面的相关文章希望大家以后多多支持站圈网!

版权声明:本文内容由小编收集网络,均来自网络用户自发贡献,版权归原作者所有,Web前端、电脑编程学习类网站不拥有其著作权,亦不承担相应法律责任。具体规则请查看《Web前端、电脑编程学习类网站用户服务协议》和《Web前端、电脑编程学习类网站知识产权保护指引》。如果您发现本站中有涉嫌抄袭的内容,填写联系本站管理员,一经查实,管理员将立刻删除涉嫌侵权内容。

上一篇:可能是全网vue v-model最详细讲解教程

下一篇:vue+element-ui前端使用print-js实现打印

本文标题:Vue3中echarts无法缩放的问题及解决方案

本文地址:https://www.zhano.cn/JavaScript/67937.html

AD300

广告投放 | 联系我们 | 版权申明 | SiteMap

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:15234109 | 邮箱:15234109#qq.com(#换成@)

Copyright © 2019-2022 豫ICP备19001789号