【Vue】Echart渲染数据时页面不显示内容

news2024/11/16 3:35:04

背景

  • 做的一个对话交互的功能,根据后台返回的数据,渲染成Echart图表展示
  • 因为图表种类多,因此根据不同图表单独做了一个个vue组件,将数据根据展示类型传到这些子组件中进行渲染
  • 无论哪种图表,第一次展示时都能正常展示,但是当第二次对话展示图表时就会失败,什么都不显示,全是空白

分析

  • 经过断点、日志输出发现数据都能正常返回,因此跟后端没有关系
  • 前端也能获取到数据,也不报什么错,Echart中的options数据也都正常,那么问题就是出现在元素选择上了,后来证明确实是这个问题

问题解决

  • 最开始还以为是setOption(option, true)时没有带这个true,但是想想也不对啊,这个是清楚脏数据的,所以写上这个true依然没有改变问题

  • 原来的写法是在子组件选择元素时使用的是this.$echarts.init(document.getElementById('myLine'));这种方式

  • 后来换成 this.$echarts.init(this.$refs.chartContainer);这种方式就可以了

    在这里插入图片描述

    在这里插入图片描述

写法区别

在 Vue 中,this.$echarts.init 是用来初始化 ECharts 实例的方法。当你使用 document.getElementById('myLine') this.$refs.chartContainer 作为参数传递给 init 方法时,主要的区别在于它们获取 DOM 元素的方式不同。

  1. 使用 document.getElementById(‘myLine’)
    • 这种方式通过 id 属性来查找 DOM 元素。
    • 如果元素还没有被渲染到 DOM 树中(例如,在异步组件或动态渲染的情况下),这可能会导致 null 或者找不到元素的问题。
      适用于简单的页面结构或者确保元素已经被加载的情况。
  2. 使用 this.$refs.chartContainer
    • 这种方式通过 Vue 的 ref 属性来引用 DOM 元素。
    • 更加可靠,特别是在组件内部使用时,因为 Vue 确保了当组件挂载后,通过 ref 获取的元素已经存在。
    • 推荐在 Vue 组件内部使用这种方式来获取元素,尤其是在组件挂载完成后初始化图表时。

总结

  • 对于 Vue 开发者来说,使用 this.$refs 是更推荐的做法,因为它与 Vue 的生命周期更加契合,并且可以确保在操作 DOM 前元素已经被正确挂载。
  • 如果你在 Vue 组件中初始化 ECharts 图表,建议使用 this.$refs 来获取容器元素。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2088612.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2024实战指南:四款全免费的数据恢复工具盘点!

在这个数字化的时代里,数据的安全至关重要。如果一不小心删除或丢失了重要数据应该怎么办呢?这几个全免费的数据恢复工具可以帮你解决问题,亲测好用哦! 第一款:福昕数据恢复 直达链接:www.pdf365.cn/foxi…

跨系统备忘录迁移有哪些方法?备忘录内容如何跨平台转移?

备忘录作为我们日常生活中常用的软件,帮助我们随时记录重要事项和灵感。然而,随着科技的发展,我们可能会更换不同系统的设备,这时就需要将备忘录内容进行迁移。特别是跨系统的迁移,往往让人感到不便。那么,…

探索挪车小程序源码开发:构建便捷社区生活的智慧桥梁

随着城市化进程的加速,车辆保有量不断增加,停车难、挪车难成为了许多城市居民日常生活中的一大痛点。为了解决这一难题,挪车小程序应运而生,它利用移动互联网的便捷性,为车主之间搭建起一个高效、便捷的沟通平台。本文…

【Python 千题 —— 基础篇】身份证隐藏的信息

Python 千题持续更新中 …… 脑图地址 👉:⭐https://twilight-fanyi.gitee.io/mind-map/Python千题.html⭐ 题目描述 题目描述 在一个用户信息管理系统中,你需要处理和验证用户提供的身份证号。编写一个程序来从用户信息字符串中提取和验证身份证号,并提供相应的处理方式…

LLM论文研读: MindSearch

1. 背景 近日中科大与上海人工智能实验室联合推出的MindSearch思索,引起了不小的关注,github上的星标,短短几周时间,已经飙到了4.2K。看来确实有些内容,因此本qiang~研读了论文及代码,针对其中的原理与创新…

自动化测试的使用场景有哪些?

🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 本文将通过介绍 自动化测试是什么?哪些场景适用于自动化测试?自动化测试的好处?以及通过 具体的自动化测试工具应用实例来对自动…

【逐行注释】无迹卡尔曼滤波(UKF)的MATLAB代码,附下载链接

文章目录 程序组成部分部分代码及注释展示运行结果主要模块解读:运动模型绘图部分误差统计特性输出 下载链接 程序组成部分 由模型初始化、运动模型、UKF主体部分、绘图代码和输出部分组成: 部分代码及注释展示 运行结果 运行后可以得到三幅图和一段…

uniapp小程序怎么判断滑动的方向

项目场景: 获取手机上手指滑动的距离超过一定距离 来操作一些逻辑 解决方案: 在uniapp中,可以通过监听触摸事件来判断滑动的方向。常用的触摸事件包括touchstart, touchmove, 和 touchend。通过这些事件的参数,可以计算出用户的滑…

Java 入门指南:Java NIO —— Selector(选择器)

NIO 的引入 在传统的 Java I/O 模型(BIO)中,I/O 操作是以阻塞的方式进行的。当一个线程执行一个 I/O 操作时,它会被阻塞直到操作完成。这种阻塞模型在处理多个并发连接时可能会导致性能瓶颈,因为需要为每个连接创建一…

随身wifi靠谱吗?适合哪类人使用?靠谱随身wifi怎么选?热门随身wifi推荐测评!

你真的适合用随身wifi吗? 户外工作者:外卖员,滴滴司机,卡车司机,户外直播等人群对于网络的稳定性和流量的需求还是比较高的。随身wifi便携,信号稳定,流量多性价比高的特点符合户外工作者对网络的…

制造企业看过来!这15款工程软件值得推荐!

本文将盘点15款工程软件,供企业选型参考。 工程软件就如同工程领域的得力助手,能让工程建设的各个环节都变得更加高效、精准。 对于工程企业来说,如果没有合适的工程软件,就像工匠没有趁手的工具,难以打造出精良的作品…

vmware典型安装centos

创建虚拟机 选择centos镜像 设置用户名

Oracle 网络安全产品安全认证检索

自2023年7月1日起,国家网信办、工业和信息化部、公安部、国家认证认可监督管理委员会统一公布和更新网络关键设备和网络安全专用产品清单。列入《网络关键设备和网络安全专用产品目录》的网络安全专用产品应当按照《信息安全技术网络安全专用产品安全技术要求》等相…

日本对COBOL的需求--一篇说清楚

关于COBOL(Common Business-Oriented Language)在中国和日本的使用情况,确实存在显著的差异。 在中国,COBOL被视为一种较早的编程语言,其使用范围和需求已经相对较小,这主要是由于技术更新和新一代编程语言…

【微信小程序入门】1、初识微信小程序

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…

1. 【Java开发手册】| 前言

最早接触 《Java 开发手册》大概是 2020 年的时候,那个时候刚出** 嵩山版 **, 当时也就是大致扫了一遍,对于一些约定其实也不了解,并没有太在意。随着开发经验的积累,从当初埋头写业务的大头兵,到现在成为了一个带领小…

基于vue框架的餐馆管理系统jo0i7(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。

系统程序文件列表 项目功能:用户,菜品分类,菜品信息,餐馆介绍,后厨,菜品订单,后厨接单,完成订单 开题报告内容 基于Vue框架的餐馆管理系统开题报告 一、研究背景与意义 随着餐饮行业的蓬勃发展,餐馆面临着日益激烈的市场竞争和消费者多样化的需求。传…

安泰功率放大器应用领域:MEMS传感器的应用有哪些

功率放大器的应用领域很广泛,从超声测试、材料测试、水声测试再到压电驱动、电磁驱动生物医疗,它都能为整个系统提供强劲的激励,同样功率放大器在MEMS传感器系统的激励中也有着良好应用,今天Aigtek安泰电子就带大家走进MEMS传感器…

Elasticsearch 中,term 查询和 match 查询的区别

文章目录 前言Elasticsearch 中,term 查询和 match 查询的区别1. Term 查询2. Match 查询3. 总结 前言 如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。   而且听说点赞的人每天的运气都…

Ceruletide 雨蛙素;雨蛙肽;硫酸化蓝肽 简介

目录号 M9316 Ceruletide 雨蛙素;雨蛙肽;硫酸化蓝肽 Ceruletide (Caerulein) 是从澳大利亚青蛙皮肤中分离的生物活性十肽,是一种缩胆囊素受体 (cholecystokinin receptor) 激动剂。此外,Ceruletide还可用于构建小鼠急性胰腺炎模型…