【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.pswp.cn/news/895221.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/895221.shtml
英文地址,請注明出處:http://en.pswp.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設計】可視化大屏原型設計

文章目錄 一、墨刀中的幾個可視化大屏框架原型 一、墨刀中的幾個可視化大屏框架原型