当前位置: 首页 > news >正文

ECharts组件封装教程:Vue3中的实践与探索

在日常的前端开发中,ECharts 作为一款强大且易用的图表库,被广泛应用于数据可视化场景。为了更好地在 Vue3 项目中复用 ECharts 功能,我们可以将其封装成一个组件。本文将带大家一步步实现 ECharts 的 Vue3 组件封装,并演示如何在父组件中调用和使用。

一、封装 ECharts 组件

 废话不多说,先奉上组件代码精华

<template><div class="chart" ref="echartsRef"></div>
</template><script setup>
import { ref, onUnmounted, nextTick } from "vue";
import * as echarts from "echarts";// ref 用于挂载 DOM 容器
const echartsRef = ref(null);
let chartInstance = null; // 存储 ECharts 实例
let observer = null; // 用于监听屏幕尺寸变化的 ResizeObserver// 用于触发父组件事件
const emit = defineEmits(["chartEvent"]);// 组件销毁时清理资源
onUnmounted(() => {if (!observer) return;// 移除 ResizeObserver 监听,防止内存泄露observer.unobserve(chartInstance.getDom());if (!chartInstance) return;// 销毁 ECharts 实例chartInstance.dispose();
});// 初始化图表
function initChart(options &#

相关文章:

ECharts组件封装教程:Vue3中的实践与探索

在日常的前端开发中,ECharts 作为一款强大且易用的图表库,被广泛应用于数据可视化场景。为了更好地在 Vue3 项目中复用 ECharts 功能,我们可以将其封装成一个组件。本文将带大家一步步实现 ECharts 的 Vue3 组件封装,并演示如何在父组件中调用和使用。 一、封装 ECharts 组…...

NAT 代理服务 内网穿透

&#x1f308; 个人主页&#xff1a;Zfox_ &#x1f525; 系列专栏&#xff1a;Linux 目录 一&#xff1a;&#x1f525; NAT 技术背景二&#xff1a;&#x1f525; NAT IP 转换过程三&#xff1a;&#x1f525; NAPT四&#xff1a;&#x1f525; 代理服务器&#x1f98b; 正向…...

CAN硬件协议详解

一、基本理论&#xff1a; 1、CAN的总线结构&#xff1a; CAN总线 网络结构 有 闭环和开环 两种形式&#xff1b;无论实际的网络多复杂&#xff0c;都离不开这两种基本结构。 闭环结构的CAN总线网络&#xff0c;总线的两端各并联一个120Ω的电阻&#xff0c;两…...

网络安全等级保护:网络安全等级保护基本技术

下面我们概括性探讨一下等级保护用到的一些技术&#xff0c;有关这些技术的每一个方面的每一个部分都可以是一部大块头&#xff0c;甚至一部大块头都无法介绍清楚&#xff0c;需要系列性的书籍去展开&#xff0c;所以这里也只能做到抛砖而已。期望起到抛砖引玉的作用&#xff0…...

信刻光盘安全隔离与信息交换系统让“数据摆渡”安全高效

随着数据传输、存储及信息技术的飞速发展&#xff0c;信息安全保护已成为重中之重。各安全领域对跨网数据交互的需求日益迫切&#xff0c;数据传输的安全可靠性成为不可忽视的关键。为满足业务需求并遵守保密规范&#xff0c;针对于涉及重要秘密信息&#xff0c;需做到安全的物…...

数据结构课程设计(java实现)---九宫格游戏,也称幻方

【问题描述】 九宫格&#xff0c;一款数字游戏&#xff0c;起源于河图洛书&#xff0c;与洛书是中国古代流传下来的两幅神秘图案&#xff0c;历来被认为是河洛文化的滥觞&#xff0c;中华文明的源头&#xff0c;被誉为"宇宙魔方"。九宫格游戏对人们的思维锻炼有着极大…...

[思考记录]AI时代下,悄然的改变

尝试用 xAI-Grok 去了解DS开源周的信息&#xff0c;有那么点被Grok的输出惊艳到。“请你以技术编辑的角色&#xff0c;重点参考官方文档&#xff0c;介绍DeepSeek开源周的内容&#xff0c;写一篇技术分享文章。”&#xff0c;得到的文字看起来很是舒服&#xff0c;内容靠谱、结…...

JAVA笔记【一】

现实 &#xff08;抽象&#xff09; 类 &#xff08;创建&#xff09; 对象 特点&#xff1a; 1.面向对象 2.跨平台 3.安全性 4.多线程 java程序基本结构 1. java源代码文件实际是普通的文本文件&#xff0c;源代码文件必须是.java扩展名&#xff0c;且必须小写 2. …...

[Java基础] 常用注解

文章目录 1. 元注解2. 非元注解2.1 常用JDK自带注解2.2 常用Spring相关注解2.2.1 在Spring框架中&#xff0c;注解用于简化配置和增强代码的可读性。以下是常用的Spring注解的一部分2.2.2 针对controller的相关注解2.2.3 AOP相关注解2.2.4 Enable系列注解 2.3 常用Lombok注解 1…...

uvm中的run_test作用

在SystemVerilog和UVM验证环境中&#xff0c;run_test() 是启动UVM仿真流程的核心函数。它负责初始化UVM框架、创建测试用例实例&#xff0c;并触发UVM的Phase机制来执行验证环境的构建和运行 1. run_test() 的作用 run_test() 是UVM提供的内置函数&#xff0c;定义在UVM库中…...

brew search报错,xcrun:error:invalid active developer path CommandLineTools

问题出现的原因 出现“xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun”错误&#xff0c;通常是因为Xcode命令行工具未正确安装或其路径已损坏。以下是几种常见的…...

C#内置委托(Action)(Func)

概述 在 C# 中&#xff0c;委托是一种类型&#xff0c;它表示对具有特定参数列表和返回类型的方法的引用。C# 提供了一些内置委托&#xff0c;使得开发者可以更方便地使用委托功能&#xff0c;无需手动定义委托类型。本文将详细介绍 Action 和 Func 这两个常用的内置委托。 A…...

kubernetes 部署项目

随着容器化技术的发展&#xff0c;使用Kubernetes&#xff08;简称K8s&#xff09;来部署和管理应用已经成为现代软件开发的标准实践之一。Kubernetes提供了一套强大的工具集&#xff0c;使得部署、扩展和管理应用程序变得更为简便高效。本文将带你走过从准备环境到部署一个实际…...

《几何原本》命题I.2

《几何原本》命题I.2 从一个给定的点可以引一条线段等于已知的线段。 设 A A A 为给定点&#xff0c; B C BC BC 为给定线段 连接 A B AB AB&#xff0c;作等边 △ A B D \triangle ABD △ABD 以 B B B 为圆心&#xff0c; B C BC BC 为半径作小圆 延长 D B DB DB 交小圆…...

【我的 PWN 学习手札】House of Kiwi

House of Kiwi 之前我们利用IO_FILE一般是通过劫持vtable来实现的&#xff0c; House of Kiwi虽然不是通过劫持vtable来实现&#xff0c;但实质上是劫持vtable指向的全局的_IO_file_jumps_表来实现的。注意&#xff1a;对于某些版本的glibc&#xff0c;_IO_file_jumps_并不可写…...

nvm的学习

学习 nvm&#xff08;Node Version Manager&#xff09; 是掌握 Node.js 开发的关键技能之一。以下是系统的学习路径和实战指南&#xff0c;涵盖从基础到进阶的内容&#xff1a; 一、基础入门 1. nvm 的核心作用 多版本共存&#xff1a;安装和管理多个 Node.js 版本&#xff…...

haclon固定相机位标定

什么是标定&#xff1f; 工业应用中相机拍到一个mark点的坐标为C1&#xff08;Cx,Cy&#xff09;&#xff0c;C1点对应的龙门架/机械手等执行端对应的坐标是多少&#xff1f; 标定就是解决这个问题&#xff0c;如相机拍到一个点坐标C1&#xff08;Cx,Cy&#xff09;&#xff0c…...

stm32(hal库)学习笔记-时钟系统

在stm32中&#xff0c;时钟系统是非常重要的一环&#xff0c;他控制着整个系统的频率。因此&#xff0c;我们有理由好好学一下时钟系统。 什么是时钟&#xff1f; 时钟是具有周期性的脉冲信号&#xff0c;一般我们常用占空比为50%的方波。可以形象的说&#xff0c;时钟就是单…...

【Java项目】基于SpringBoot的财务管理系统

【Java项目】基于SpringBoot的财务管理系统 技术简介&#xff1a;采用Java技术、SpringBoot框架、MySQL数据库等实现。系统基于B/S架构&#xff0c;前端通过浏览器与后端数据库进行信息交互&#xff0c;后端使用SpringBoot框架和MySQL数据库进行数据处理和存储&#xff0c;实现…...

Qt中如果槽函数运行时间久,避免阻塞主线程的做法

Qt中如果槽函数运行时间久&#xff0c;避免阻塞主线程的做法 一、解决步骤 创建一个工作线程类&#xff1a;继承自QObject&#xff0c;并在其中实现槽函数的逻辑。将工作线程类的实例移动到单独的线程中&#xff1a;通过moveToThread()方法将对象移动到新线程。启动线程&…...

云计算——弹性云计算器(ECS)

弹性云服务器&#xff1a;ECS 概述 云计算重构了ICT系统&#xff0c;云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台&#xff0c;包含如下主要概念。 ECS&#xff08;Elastic Cloud Server&#xff09;&#xff1a;即弹性云服务器&#xff0c;是云计算…...

React第五十七节 Router中RouterProvider使用详解及注意事项

前言 在 React Router v6.4 中&#xff0c;RouterProvider 是一个核心组件&#xff0c;用于提供基于数据路由&#xff08;data routers&#xff09;的新型路由方案。 它替代了传统的 <BrowserRouter>&#xff0c;支持更强大的数据加载和操作功能&#xff08;如 loader 和…...

【网络安全产品大调研系列】2. 体验漏洞扫描

前言 2023 年漏洞扫描服务市场规模预计为 3.06&#xff08;十亿美元&#xff09;。漏洞扫描服务市场行业预计将从 2024 年的 3.48&#xff08;十亿美元&#xff09;增长到 2032 年的 9.54&#xff08;十亿美元&#xff09;。预测期内漏洞扫描服务市场 CAGR&#xff08;增长率&…...

JVM垃圾回收机制全解析

Java虚拟机&#xff08;JVM&#xff09;中的垃圾收集器&#xff08;Garbage Collector&#xff0c;简称GC&#xff09;是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象&#xff0c;从而释放内存空间&#xff0c;避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...

让AI看见世界:MCP协议与服务器的工作原理

让AI看见世界&#xff1a;MCP协议与服务器的工作原理 MCP&#xff08;Model Context Protocol&#xff09;是一种创新的通信协议&#xff0c;旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天&#xff0c;MCP正成为连接AI与现实世界的重要桥梁。…...

网络编程(UDP编程)

思维导图 UDP基础编程&#xff08;单播&#xff09; 1.流程图 服务器&#xff1a;短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...

Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)

参考官方文档&#xff1a;https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java&#xff08;供 Kotlin 使用&#xff09; 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...

Web 架构之 CDN 加速原理与落地实践

文章目录 一、思维导图二、正文内容&#xff08;一&#xff09;CDN 基础概念1. 定义2. 组成部分 &#xff08;二&#xff09;CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 &#xff08;三&#xff09;CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 &#xf…...

云原生玩法三问:构建自定义开发环境

云原生玩法三问&#xff1a;构建自定义开发环境 引言 临时运维一个古董项目&#xff0c;无文档&#xff0c;无环境&#xff0c;无交接人&#xff0c;俗称三无。 运行设备的环境老&#xff0c;本地环境版本高&#xff0c;ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...

JAVA后端开发——多租户

数据隔离是多租户系统中的核心概念&#xff0c;确保一个租户&#xff08;在这个系统中可能是一个公司或一个独立的客户&#xff09;的数据对其他租户是不可见的。在 RuoYi 框架&#xff08;您当前项目所使用的基础框架&#xff09;中&#xff0c;这通常是通过在数据表中增加一个…...