基于Vue和UCharts的前端組件化開發:實現高效、可維護的詞云圖與進度條組件

基于Vue和UCharts的前端組件化開發:實現高效、可維護的詞云圖與進度條組件

摘要

隨著前端技術的迅速發展和業務場景的日益復雜,傳統的整塊應用開發方式已無法滿足現代開發的需求。組件化開發作為一種有效的解決方案,能夠將系統拆分為獨立、可復用的組件,從而提高開發效率和可維護性。本文將以基于Vue和UCharts的詞云圖與進度條組件為例,探討如何在前端開發中實現組件化,并介紹其設計思路和實現過程。

一、引言

在現代前端開發中,組件化已成為一種趨勢。通過將系統拆分為多個獨立的組件,可以實現單獨開發、單獨維護,并且組件之間可以靈活組合,以適應不同的業務場景。此外,組件化開發還有助于降低代碼的耦合度,提高系統的可擴展性和可維護性。

二、組件化開發的優勢

  1. 獨立開發:每個組件可以獨立開發、測試和部署,提高了開發并行度。

  2. 單獨維護:組件的維護變得更為簡單,只需關注特定組件的邏輯和功能。

  3. 靈活組合:組件之間可以隨意組合,方便構建復雜的前端應用。

  4. 降低耦合度:減少了代碼之間的依賴關系,降低了系統的復雜性。

效果圖如下:

圖片

三、詞云圖與進度條組件的設計與實現

  1. 需求分析

詞云圖組件用于展示文本數據的權重分布,而進度條組件則用于展示任務的完成進度。這兩個組件在前端應用中具有廣泛的應用場景。

  1. 技術選型

選擇Vue作為前端框架,利用其組件化的特性來實現組件的開發。同時,選擇UCharts作為圖表庫,它提供了豐富的圖表類型和強大的定制能力。

  1. 組件實現

(1)詞云圖組件

  • 基于UCharts的詞云圖實現,支持自定義詞云樣式、布局和動畫效果。

  • 提供數據接口,方便與外部數據進行交互。

(2)進度條組件

  • 支持多重圓弧、弧形、圓形等多種進度條樣式。

  • 提供進度數據和狀態接口,實現與后端數據的實時交互。

四、組件的應用與效果

將詞云圖與進度條組件應用于實際項目中,通過對比傳統的整塊應用開發方式,展示了組件化開發在提高開發效率、降低維護成本方面的優勢。

使用方法
<!--  關鍵字 --><view class="keyWordV"><!-- 詞云圖 --><qiun-data-charts type="word" :chartData="chartsDataWord1" /></view><!--  圖片視圖 --><view class="chartV"><!-- 多重圓弧進度條 --><qiun-data-charts type="arcbar":opts="{title:{name:'360分' ,color:'#7E45FF',fontSize:24,offsetY:-12,fontWeight:600},subtitle:{name:'各科成績總評分',color:'#666666',fontSize:14,offsetY:-6}}":chartData="chartData" /></view>
HTML代碼部分
<template><view class="content"><!--  關鍵字 --><view class="keyWordV"><!-- 詞云圖 --><qiun-data-charts type="word" :chartData="chartsDataWord1" /></view><!--  圖片視圖 --><view class="chartV"><!-- 環形圖 --><qiun-data-charts type="arcbar":opts="{title:{name:'360分' ,color:'#7E45FF',fontSize:24,offsetY:-12,fontWeight:600},subtitle:{name:'各科成績總評分',color:'#666666',fontSize:14,offsetY:-6}}":chartData="chartData" /></view></view>
</template>
JS代碼 (引入組件 填充數據)
<script>export default {data() {return {chartsDataWord1: {},chartData:{},colorsArr : ['#1890FF', '#FAC858', '#7021FF', '#FF6216'],}},mounted() {this.initEchartData();},methods: {initEchartData() {// 關鍵詞云圖let tmpArr = ['開朗', '大方', '活潑', '善良', '勇敢', '熱情', '思維敏捷', '剛強', '忠于祖國', '熱愛集體', '關心他人', '樂于助人', '大公無私','正直', '誠實', '文明禮貌', '勤勞節儉', '認真負責', '謙虛謹慎'];let dataArr = [];for (let i = 0; i < tmpArr.length; i++) {let tmpDict = {};let myTextSize =  (30 -  i) > 9 ? (30 -   i): 10tmpDict = {"name": tmpArr[i],"textSize": myTextSize,}dataArr.push(tmpDict);}this.chartsDataWord1 = {"series": dataArr};this.chartData = {"series": [{"data": '0.99',"color":  this.colorsArr[0]                     
,},{"data": '0.69',"color":  this.colorsArr[1]                     
,},{"data": '0.69',"color":  this.colorsArr[2]                     
,},{"data": '0.59',"color":  this.colorsArr[3]                     
,}]}}}}
</script>
CSS
<style>.content {display: flex;flex-direction: column;align-items: center;justify-content: center;}.keyWordV {display: flex;margin-left: 12px;width: calc((100vw - 24px));height: 240px;}.chartV {display: flex;padding: 6px 8px;width: 76vw;height:76vw;}
</style>

五、總結與展望

本文介紹了基于Vue和UCharts的前端組件化開發實踐,通過實現詞云圖與進度條組件,展示了組件化開發的優勢和應用效果。未來,我們將繼續探索更多類型的組件,以滿足不斷變化的業務需求,并不斷優化組件的性能和功能,提高前端應用的用戶體驗。

項目下載地址:

https://ext.dcloud.net.cn/plugin?id=13029

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/44677.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/44677.shtml
英文地址,請注明出處:http://en.pswp.cn/web/44677.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Shell基礎之函數和數組

目錄 函數 什么是函數 函數的語法 函數的調用 函數的返回值 函數的案例 函數變量的作用域 遞歸函數 函數庫文件 數組 定義數組語法 數組操作 獲取所有元素 獲取元素下標 獲取數組長度 獲取數組元素 數組添加元素 刪除數組元素 刪除數組 遍歷數組元素 數組案…

解決pycharm無法識別miniconda

解決pycharm無法識別miniconda 找到miniconda安裝目錄下condabin/conda.bat文件&#xff0c;點擊load即可識別codna環境 a環境

Spring Boot(七十九):SprngBoot整合Apache tika做文件類型檢測

之前有一個章節介紹了Apache tika實現文檔內容解析,地址如下:Spring Boot(六十八):SpringBoot 整合Apache tika 實現文檔內容解析_springboot tika pptx-CSDN博客 下面我們介紹Apache tika實現文件類型檢測 1 引入依賴 <dependency><groupId>org.apache.tika&…

Docker 掛載目錄空間占滿修改/var/lib/docker/overlay2 的路徑解決方案

本文詳細描述了在CentOS7系統中卸載舊版Docker、安裝依賴、添加Docker源、配置存儲路徑并啟動Docker&#xff0c;使其在/home目錄下運行的過程。 以下是在CentOS 7下重新安裝Docker并將其安裝在/home/下的完整步驟&#xff1a; 卸載舊版本的Docker。如果您之前已經安裝了Dock…

仕考網:沒有學位證能考公務員嗎?

公務員考試需要滿足報名條件才能參加&#xff0c;沒有學位證能考公嗎? 沒有學位證書的考生也有機會參與公務員考試雖然可以選擇的崗位比較少&#xff0c;但可以報考參加那些不設定學位要求的崗位。當發布的公務員招錄信息中某一職位的學位要求標注為“無要求”時&#xff0c;…

【C++】:繼承[下篇](友元靜態成員菱形繼承菱形虛擬繼承)

目錄 一&#xff0c;繼承與友元二&#xff0c;繼承與靜態成員三&#xff0c;復雜的菱形繼承及菱形虛擬繼承四&#xff0c;繼承的總結和反思 點擊跳轉上一篇文章&#xff1a; 【C】&#xff1a;繼承(定義&&賦值兼容轉換&&作用域&&派生類的默認成員函數…

MATLAB Gazebo聯合仿真

準備仿真環境&#xff1a;在Gazebo中設置仿真場景&#xff0c;包括機器人模型、環境布局、傳感器和執行器等。編寫MATLAB腳本&#xff1a;在MATLAB中編寫控制算法和數據處理腳本&#xff0c;用于接收Gazebo中的傳感器數據&#xff0c;并生成控制命令。建立通信&#xff1a;通過…

DEBUG:jeston卡 遠程ssh編程

問題 jeston 打開網頁 gpt都不方便 而且只需要敲命令就行 解決 下載MobaXterm(window執行) liunx需要虛擬機 軟件 遠程快速復制命令

PHP文字ocr識別接口示例、人工智能的發展

全球在人工智能升級的大背景下&#xff0c;有一定規模的制造商開始大量部署人工智能機器人、系統&#xff0c;以此取代危險、簡單和重復性的工作。各種人工智能技術的迅猛發展&#xff0c;正在驅動各行業就業市場發現變革。 京東物流大家并不陌生&#xff0c;京東快遞機器人在…

vue中table內容和lable對不齊解決方案

問題&#xff1a; 代碼片段&#xff1a; <template><el-table :data"tableData" stripe style"width: 100%"><el-table-column prop"title" label"標題" width"80px" /><el-table-column prop"n…

Windows安全日志導致環境內存占用過高

Windows 環境內存占用高不釋放&#xff0c;目前遇到的常見情況如下&#xff1a; 情況一&#xff1a;JVM內存泄漏 這種網上的排查方式有很多&#xff0c;自行查閱即可 情況二&#xff1a;SQLserver內存配置過大 這種也是&#xff0c;從網上查找修改方式然后修改即可 情況三…

python的面向對象編程

為什么要面向對象編程&#xff1f; 偉大的領袖毛澤東曾說過&#xff1a;編程最大的敵人是重復。 最開始&#xff0c;在程序中寫的一條條語句&#xff0c;在執行的時候會變成一條條指令交給CPU執行。這就是**“程序是指令的集合”** 。為了簡化程序的設計&#xff0c;引入了函數…

WebPages 全局:深入解析現代網頁設計與開發

WebPages 全局:深入解析現代網頁設計與開發 引言 隨著互聯網技術的飛速發展,網頁設計與開發已經成為了數字化時代的重要組成部分。從簡單的文本和圖像展示,到如今復雜的多媒體交互體驗,網頁設計經歷了翻天覆地的變化。本文將深入探討WebPages全局,包括網頁設計的基本概念…

Defensor 4.5:構建數據資產為中心的安全運營體系

5月31日“向星力”未來數據技術峰會上&#xff0c;星環科技重磅發布數據安全管理平臺 Defensor 4.5版本。新版本引入了以數據資產為中心的數據安全運營體系&#xff0c;通過智能化大模型技術&#xff0c;幫助企業快速、精準地識別核心重要資產&#xff1b;建設全局的數據安全策…

pytorch GPU cuda 使用 報錯 整理

GPU 使用、報錯整理 1. 使用指定GPU&#xff08;單卡&#xff09;1.1 方法1&#xff1a;os.environ[CUDA_VISIBLE_DEVICES]1.2 方法2&#xff1a;torch.device(cuda:2)1.3 報錯1&#xff1a;RuntimeError: CUDA error: invalid device ordinal CUDA kernel errors might be asy…

MySQL學習記錄 —— ?? 常用程序和配置文件

文章目錄 1、mysqld2、mysql常用命令介紹 3、配置文件語法 1、mysqld mysqld就是MySQL服務器&#xff0c;是一個多線程程序。對數據目錄&#xff0c;即mysql的主要工作目錄進行訪問管理。當mysqld啟動時&#xff0c;會偵聽指定的端口&#xff0c;處理來自客戶端程序的網絡連接…

【vue教程】二. Vue特性原理詳解

目錄 回顧本章涵蓋知識點Vue 實例和選項創建 Vue 實例Vue 實例的選項 Vue 模板語法插值表達式指令v-bindv-modelv-on 自定義指令創建自定義指令在模板中使用自定義指令自定義指令的鉤子函數自定義指令的實例演示 指令注冊局部注冊指令過濾器 數據綁定和響應式原理響應式數據綁定…

Oracle邏輯備份

邏輯備份 expdp 備份恢復表空間 創建測試數據 # 創建表空間 create tablespace itpux01 datafile /oradata/fghsdb/itpux01.dbf size 100m autoextend off extent management local autoallocate segment space management auto; create tablespace itpux02 datafile /o…

編程題目積累(day5)

題目&#xff1a; 源數組a&#xff0c;將a中所有元素乘以2之后添加進a&#xff0c;則這個a就叫雙倍數組&#xff0c;給你一個數組a&#xff0c;判斷它是不是雙倍數組&#xff0c;如果是則輸出源數組&#xff0c;不是則輸出空數組。 補充知識&#xff1a; python中枚舉和字典…

OAuth 和 SSO 場景中的 URL 語法解析

OAuth 和 SSO 場景中的 URL 語法解析 在 OAuth 和 SSO (Single Sign-On) 場景中&#xff0c;URL 是一個關鍵組件&#xff0c;用于在客戶端和服務器之間傳遞認證請求和響應。讓我們深入解析這個 URL&#xff1a; https://api.commerce.ondemand.com/occ/oauth/authorize?resp…