【Vue】在Vue3中使用Echarts的示例 两种方法

文章目录

  • 方法一
    • template渲染部分
    • js部分
    • 方法一实现效果
  • 方法二
    • template部分
    • js or ts部分
    • 方法二实现效果


贴个地址~
Apache ECharts官网地址
Apache ECharts示例地址
官网有的时候示例显示不出来,属于正常现象,多进几次就行


开始使用前,记得先安装好echart

npm install echarts --save

以下代码我采用的都是vue文件内全部引入,是否按需引入看各自项目要求进行精简。

免责声明(bushi)
我采用的版本是:
“echarts”: “^5.6.0”
“vue”: “^3.5.13”
“vite”: “^6.0.5”,
“vite-plugin-vue-devtools”: “^7.7.0”


方法一

template渲染部分

最简单的柱状图例子,跟着官方文档走的 -> Apache ECharts - 在项目中引入ECharts

在vue前面写上的显示区域div块的代码,下面代码是我自己的尝试内容,element-plus(也就是包含el-前缀的标签)是另外的内容,和Echart无关。

<template><div>freedomwxe 第一次调试</div><div><el-button type="primary">点击</el-button></div><div><span style="margin-left: 30px; color: #666"><el-icon :size="20" color="#666" style="top: 4px"><View /></el-icon> 666</span></div><div id="main" class="box"></div></template>

重点在id=main的div块这里,和下面js代码相互对应

<div id="main" class="box"></div>

js部分

下面这块代码和上面的vue直接放到一起

重点在于onMounted这个钩子函数,如果直接贴上到js里,会发现页面内没有生效。
这里myChart用于获取id=main的dom元素,要确保获取到才能显示到上面对应id的div块。

<script setup>
import * as echarts from 'echarts';
import { onMounted } from 'vue';onMounted(() => {// 基于准备好的 dom,初始化 echarts 实例const myChart = echarts.init(document.getElementById('main'));// 绘制图表myChart.setOption({title: {text: 'ECharts 入门示例'},tooltip: {},xAxis: {data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子']},yAxis: {},series: [{name: '销量',type: 'bar',data: [5, 20, 36, 10, 10, 20]}]});
});
</script><style>.box{width: 300px;height: 300px;background-color: rgb(188, 227, 236);}
</style>

方法一实现效果

csdn-祁许


方法二

实际在项目中使用,发现第一个有局限性,它可以加载官方文档里最简单的一些图,但是示例那些复杂的却无法正确显示到页面上了,在控制台打印说无法找到对应dom元素(尽管代码逻辑上无误,也可能是我采用了lang=ts的缘故)。
然后ai给的思路是在onMounted层内再套一层间隔时间的函数(nextTick不行),至于时间是多少我试过1、10、100、1000都可以。

template部分

随意加上你要的div块,但是id必须与后续js(ts)里匹配

<section class="lt"><div class="leftClass"><div id="left-top-chart"></div></div>
</section>

js or ts部分

有些地方可能存在冗余,根据各自实际代码进行调整

<script lang="ts" setup>
import {onMounted, reactive ,nextTick,ref} from 'vue'
import * as echarts from 'echarts';// 左上部分
onMounted(() => {setTimeout(() => {const lt_chartDom = document.getElementById('left-top-chart');if (lt_chartDom) {// 基于准备好的 dom,初始化 echarts 实例const ltChart = echarts.init(lt_chartDom);console.log("left-top-chartDom: ", lt_chartDom)const ltoption = {xAxis: {color:['#ffffff',],type: 'category',boundaryGap: false,data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']},yAxis: {color:['#ffffff',],type: 'value'},series: [{color:['#41bcf1',],data: [820, 932, 901, 934, 1290, 1330, 1320],type: 'line',areaStyle: {}}]};ltChart.setOption(ltoption)} else {console.log("未找到left-top-chart的dom元素")}}, 1);
});

方法二实现效果

csdn-祁许

over

理解或代码有误之处欢迎指正~

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

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

相关文章

分布式锁的实现 和 底层原理 以及都有什么问题?

目录 分布式锁的实现方式及底层原理 1. 基于数据库实现分布式锁 实现方式 底层原理 存在的问题 2. 基于 Redis 实现分布式锁 实现方式 底层原理 存在的问题 3. 基于 ZooKeeper 实现分布式锁 实现方式 底层原理 存在的问题 总结 分布式锁的实现方式及底层原理 1.…

13.10 统一配置管理中心:TranslationChain 架构的简洁配置管理方案

统一配置管理中心:TranslationChain 架构的简洁配置管理方案 1. 集中式配置文件设计 config/settings.yaml: # 多环境配置开关 env: production # development|test|production# 模型管理中心 models:openai:class: langchain_openai.ChatOpenAIparams

Ollama 简单 好用 好玩

简介 Ollama https://github.com/ollama/ollama/ 是一个基于 Go 语言 的 本地大语言模型运行框架&#xff0c;专注于本地化运行大型语言模型&#xff08;LLM&#xff09;的开源工具。 类 Docker 产品&#xff08;支持 list,pull,push,run 等命令&#xff09;&#xff0c;更好玩…

储能系统-系统架构

已更新系列文章包括104、61850、modbus 、单片机等&#xff0c;欢迎关注 IEC61850实现方案和测试-1-CSDN博客 快速了解104协议-CSDN博客 104调试工具2_104协议调试工具-CSDN博客 1 电池储能系统&#xff08;BESS&#xff09; 架构 电池储能系统主要包括、电池、pcs、本地控制…

Day88:加载游戏图片

在游戏开发中,加载和显示图片是非常常见的需求,尤其是在 2D 游戏 中,角色、背景、道具、敌人等都需要用图片来表示。今天,我们将学习如何在 Python 游戏开发中使用 Pygame 加载并显示图片。 1. 加载游戏图片的基本步骤 在 Pygame 中加载图片通常需要以下几个步骤: 导入 P…

解决 keep-alive 缓存组件中定时器干扰问题

当使用 keep-alive 缓存组件时&#xff0c;组件中的定时器可能会在组件被缓存后继续运行&#xff0c;从而干扰其他组件的逻辑。为了避免这种情况&#xff0c;可以通过以下方法解决&#xff1a; 1. 在组件的 deactivated 钩子中清理定时器 keep-alive 为缓存的组件提供了 acti…

百度高德地图坐标转换

百度地图和高德地图的侧重点不太一样。同样一个地名&#xff0c;在百度地图网站上搜索到的地点可能是商业网点&#xff0c;在高德地图网站上搜索到的地点可能是自然行政地点。 高德地图api 在高德地图中&#xff0c;搜索地名&#xff0c;如“乱石头川”&#xff0c;该地名会出…

网络安全溯源 思路 网络安全原理

网络安全背景 网络就是实现不同主机之间的通讯。网络出现之初利用TCP/IP协议簇的相关协议概念&#xff0c;已经满足了互连两台主机之间可以进行通讯的目的&#xff0c;虽然看似简简单单几句话&#xff0c;就描述了网络概念与网络出现的目的&#xff0c;但是为了真正实现两台主机…

QTreeView和QTableView单元格添加超链接

QTreeView和QTableView单元格添加超链接的方法类似,本文仅以QTreeView为例。 在QTableView仿Excel表头排序和筛选中已经实现了超链接的添加,但是需要借助delegate,这里介绍一种更简单的方式,无需借助delegate。 一.效果 二.实现 QHTreeView.h #ifndef QHTREEVIEW_H #def…

每日一题——缺失的第一个正整数

缺失的第一个正整数 题目描述进阶&#xff1a;数据范围&#xff1a; 示例示例 1示例 2示例 3 题解思路代码实现代码解释复杂度分析总结 题目描述 给定一个无重复元素的整数数组 nums&#xff0c;请你找出其中没有出现的最小的正整数。 进阶&#xff1a; 时间复杂度&#xff…

2025年日祭

本文将同步发表于洛谷&#xff08;暂无法访问&#xff09;、CSDN 与 Github 个人博客&#xff08;暂未发布&#xff09; 本蒟自2025.2.8开始半停课。 以下是题目格式&#xff1a; [题目OJ 题号] [来源&#xff08;选填&#xff09;] 名称 …… 题号 - 名称 题目&#xff1a;……

Docker 部署 MySQL-5.7 单机版

一、镜像获取 # docker hub 镜像 docker pull farerboy/mysql:5.7 # 国内阿里镜像 docker pull registry.cn-hangzhou.aliyuncs.com/farerboy/mysql:5.7 以上两个镜像二选一即可 二、运行容器 docker run -dti --name mysql \n --privileged \n --cgroupns private \n --e…

迅为RK3568开发板篇OpenHarmony实操HDF驱动配置LED-编译源码

重新编译 Openharmony4.1 源码&#xff0c;如下所示&#xff1a; ./build.sh --product-name rk3568 --ccache 或者单独编译部件 ./build.sh --product-name rk3568 --build-target demos --ccache 编译之后&#xff0c;在源码 out/rk3568/topeet 目录下生成编译产物&#xff0…

跨越边界,大模型如何助推科技与社会的完美结合?

点击蓝字 关注我们 AI TIME欢迎每一位AI爱好者的加入&#xff01; 概述 2024年&#xff0c;大模型技术已成为人工智能领域的焦点。这不仅仅是一项技术进步&#xff0c;更是一次可能深刻影响社会发展方方面面的变革。大模型的交叉能否推动技术与社会的真正融合&#xff1f;2025年…

蓝桥杯 Java B 组之函数定义与递归入门

一、Java 函数&#xff08;方法&#xff09;基础 1. 什么是函数&#xff1f; 函数&#xff08;方法&#xff09;是 一段可复用的代码块&#xff0c;通过 函数调用 执行&#xff0c;并可返回值。在 Java 里&#xff0c;函数也被叫做方法&#xff0c;它是一段具有特定功能的、可…

数据仓库和商务智能:洞察数据,驱动决策

在数据管理的众多领域中&#xff0c;数据仓库和商务智能&#xff08;BI&#xff09;是将数据转化为洞察力、支持决策制定的关键环节。它们通过整合、存储和分析数据&#xff0c;帮助组织更好地理解业务运营&#xff0c;预测市场趋势&#xff0c;从而制定出更明智的战略。今天&a…

C++---命名空间

目录 c语言中的问题命名空间的定义注意事项第一点&#xff1a;同名命名空间第二点&#xff1a;命名空间中的全局变量与局部变量 命名空间的使用第一种使用方法第二种使用方法第三种使用方法 注意事项第一点&#xff1a;没有名字的命名空间第二点&#xff1a;局部优先原则第三点…

Prompt逆向工程:如何“骗“大模型吐露其Prompt?

提示词的“逆向工程”&#xff0c;让AI大语言模型帮你反推提示词 一、前言 在日常生活中&#xff0c;我们不时会遇到一些令人惊艳的文本&#xff0c;不论是一篇精彩绝伦的小说、一篇深入浅出的科普文章&#xff0c;还是一篇充满热情的音乐推荐&#xff0c;它们都能在我们的心…

Android studio常量表达式的错误

case R.id.openSerial485: 异常 在Android Studio中遇到“错误: 需要常量表达式”通常是因为在需要编译时常量的地方使用了变量。以下是常见场景及解决方法&#xff1a; 1. switch 语句中的 case 标签 Java要求case标签必须是常量表达式&#xff08;如字面量或final常量&…

【UI设计】可视化大屏原型设计

文章目录 一、墨刀中的几个可视化大屏框架原型 一、墨刀中的几个可视化大屏框架原型