Vue2+ElementUI實現無限級菜單

        使用Vue2和ElementUI實現無限級菜單,通常菜單數據以樹形結構存儲,每個菜單包含多個子菜單 ,子菜單又可以繼續包含更深層次的子菜單項。所以,需要使用遞歸形式,完成子項菜單的渲染。

        這里,結合Element UI界面的el-menu和el-submenu組件來構建菜單結構,有子菜單時使用el-submenu,否則使用el-menu-item。可以通過自定義組件對Element-UI菜單組件遞歸渲染,也可以使用Vue的render方法完成Element-UI的菜單組件的渲染,通過render函數方式可以使用JavaScript代碼來完成布局和結構。

        render函數是Vue組件的一個方法,用于返回一個虛擬節點(VNode)結構,該結構將被轉換為真實的DOM元素。

一、安裝

        vue2的安裝之前已有一篇文章介紹過,不清楚朋友可以前去了解,地址:Vue.js快速入門之一:安裝和配置_vue 安裝 js-storage-CSDN博客。

1.1 vue-cli全局安裝

npm install -g vue-cli

1.2 初始化項目

vue init webpack projectName

1.3 執行命令

        打開git bash,輸入命令創建項目,命令代碼如下:

Administrator@PC-20240224TOYL MINGW64 /d/workspace/vue
$ vue init webpack vue2element-nav? Project name vue2element-nav
? Project description A Vue.js project
? Author 作者名稱 <郵箱地址.qq.com>
? Vue build standalone
? Install vue-router? Yes
? Use ESLint to lint your code? No
? Set up unit tests No
? Setup e2e tests with Nightwatch? No
? Should we run `npm install` for you after the project has been created? (recom
mended) npm

        執行完畢后,如下圖所示,表示已完成項目的創建和初始化。

        通過上述提示命令,運行項目。

二、安裝Element-UI

        Element,一套為開發者、設計師和產品經理準備的基于 Vue 2.0 的桌面端組件庫。官網地址:Element - The world's most popular Vue UI framework。

2.1 安裝

npm i -s element-ui

2.2 使用

        打開main.js文件,引入Element UI組件。代碼如下:

import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'Vue.use(ElementUI);

三、模擬數據

        這里先使用模擬數據完成無限級菜單的實現,在項目src目錄下創建data文件夾,并新建nav.js文件,用于存儲模擬數據。如下圖:

3.1 json數據        

        打開創建好的文件src/data/nav.js,將模擬數據貼入即可, 代碼如下:

/*** 模擬數據*/
const dataList = [{"name": "網絡安全滲透工程師體系大綱","pid": 0,"createtime": "2023-03-29","updatetime": "2023-03-29","id": 1},{"name": "WEB通信、前后端原理","pid": 1,"createtime": "2023-03-29","updatetime": "2023-03-29","id": 2},{"name": "信息收集","pid": 1,"createtime": "2023-03-29","updatetime": "2023-03-29","id": 3},{"name": "注入全方位利用+數據庫注入","pid": 1,"createtime": "2023-03-29","updatetime": "2023-03-29","id": 4},{"name": "前端滲透、文件上傳解析漏洞","pid": 1,"createtime": "2023-03-29","updatetime": "2023-03-29","id": 5},{"name": "漏洞利用","pid": 1,"createtime": "2023-03-29","updatetime": "2023-03-29","id": 6},{"name": "漏洞挖掘","pid": 1,"createtime": "2023-03-29","updatetime": "2023-03-29","id": 7},{"name": "Web服務器通信原理","pid": 2,"createtime": "2023-03-29","updatetime": "2023-03-29","id": 8},{"name": "后端基礎SQL","pid": 2,"createtime": "2023-03-29","updatetime": "2023-03-29","id": 9},{"name": "數據庫簡介及SQL語法","pid": 2,"createtime": "2023-03-29","updatetime": "2023-03-29","id": 10},{"name": "后端基礎SQL高級查詢與子查詢","pid": 2,"createtime": "2023-03-29","updatetime": "2023-03-29","id": 11},{"name": "后端基礎PHP簡介及基本函數上","pid": 2,"createtime": "2023-03-29","updatetime": "2023-03-29","id": 12},{"name": "后端基礎PHP—表單驗證","pid": 2,"createtime": "2023-03-29","updatetime": "2023-03-29","id": 13},{"name": "正則表達式","pid": 2,"createtime": "2023-03-29","updatetime": "2023-03-29","id": 14},{"name": "信息搜集的意義 — 滲透測試的靈魂","pid": 3,"createtime": "2023-03-29","updatetime": "2023-03-29","id": 15},{"name": "信息收集(一)","pid": 3,"createtime": "2023-03-29","updatetime": "2023-03-29","id": 16},{"name": "網絡架構-信息收集","pid": 3,"createtime": "2023-03-29","updatetime": "2023-03-29","id": 17},{"name": "前端-信息收集","pid": 3,"createtime": "2023-03-29","updatetime": "2023-03-29","id": 18},{"name": "系統-信息收集","pid": 3,

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

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

相關文章

如何使用WebRTC

WebRTC比較容易使用&#xff0c;只需要很少的步驟&#xff0c;有些消息在瀏覽器和服務器之間流動&#xff0c;有些則直接在兩個瀏覽器之間流動&#xff0c; 1、建立WebRTC會話 a&#xff1a;建立WebRTC連接需要加入以下幾個步驟&#xff1a; 獲取本地媒體&#xff1a;getUse…

數據分析管理軟件 Minitab 22.2.2 中文版安裝包 免費下載

Minitab22.2.2 安裝包下載鏈接: https://pan.baidu.com/s/1cWuDbvcWhYrub01C6QR81Q?pwd6666 提取碼: 6666 Minitab軟件是現代質量管理統計軟件&#xff0c;全球六西格瑪實施的共同語言。Minitab 已經在全球120多個國家&#xff0c;5000多所高校被廣泛使用。

從新手到高手:小程序開發進階技巧分享

小程序開發從入門到精通需要經歷技術積累、架構優化和工程化實踐等多個階段。以下是結合真實項目經驗的進階路線與核心技術要點&#xff0c;涵蓋性能優化、架構設計、跨平臺開發等關鍵領域&#xff1a; 一、性能調優實戰技巧 1. 首屏渲染加速方案 // 預請求關鍵數據&#xff…

Vue3后代組件多祖先通訊設計方案

在 Vue3 中&#xff0c;當需要設計一個被多個祖先組件使用的后代組件的通訊方式時&#xff0c;可以采用以下方案&#xff08;根據場景優先級排序&#xff09;&#xff1a; 方案一&#xff1a;依賴注入&#xff08;Provide/Inject&#xff09; 響應式上下文 推薦場景&#xff…

《代碼之美:靜態分析工具與 CI 集成詳解》

《代碼之美:靜態分析工具與 CI 集成詳解》 引言 在現代軟件開發的快節奏環境中,代碼質量和效率始終是開發者關注的核心。無論您是初學者,還是經驗豐富的資深開發者,一個強大的工具鏈都能讓您如虎添翼。而 Python 的靜態代碼分析工具,如 pylint、flake8 和 mypy,正是提升…

kafka安裝、spark安裝

kafka簡介 Kafka就是一個分布式的用于消息存儲的消息隊列。 kafka角色 Kafka中存儲的消息&#xff0c;被消費后不會被刪除&#xff0c;可以被重復消費&#xff0c;消息會保留多長&#xff0c;由kafka自己去配置。默認7天刪除。背后的管理工作由zookeeper來管理。 kafka安裝 …

Jmeter數據庫url開關設置+常用Beanshell

1、數據庫url開關設置 &#xff08;79 90&#xff09; jdbc:mysql://test.lemonban.com:3306/future?allowMultiQueries-true&characterEncodingUTF-8 多條查詢開關&#xff1a;allowMultiQueriestrue 字符集配置:characterEncodingUTF-8 2、用BeanShell提取Map中的方…

媒體關注:聯易融聚焦AI+業務,重塑供應鏈金融生態

近日&#xff0c;供應鏈金融科技龍頭企業聯易融科技集團&#xff08;以下簡稱“聯易融”&#xff09;發布的公告顯示&#xff0c;截至2024年末&#xff0c;公司現金儲備達51億元&#xff0c;同比上一年增加2億元。公司稱&#xff0c;公司經營性現金流保持健康&#xff0c;現金儲…

求解,如何控制三相無刷電機?歡迎到訪評論

問題&#xff1a;通過一個集成的TF2104芯片控制H橋上橋臂和下橋臂&#xff0c;如何控制&#xff1f;還是說得需要PWM_UH和PWM_UL分開控制&#xff1f;

AIGC在游戲開發中的革命:自動化生成3A級游戲內容

一、智能游戲開發架構 1.1 傳統開發痛點與AIGC創新 開發環節 傳統痛點 AIGC解決方案 角色原畫設計 美術資源產能瓶頸 文生圖3D模型自動生成 場景搭建 重復勞動占比高 程序化生成風格遷移 NPC行為設計 模式化嚴重 強化學習驅動智能行為 任務系統 劇情線性缺乏變化 動態劇情生成系…

定位與解決線上 OOM 問題:原因分析與快速排查指南

OutOfMemoryError (OOM) 是 Java 應用在生產環境中常見的嚴重問題&#xff0c;可能導致服務不可用、響應延遲或直接崩潰。線上 OOM 的定位和解決需要快速準確&#xff0c;以最小化業務影響。本文將深入分析 OOM 的常見原因&#xff0c;介紹定位 OOM 的系統化方法&#xff0c;并…

Rust 數據類型

Rust 數據類型 Rust 是一種系統編程語言,它旨在提供高性能和內存安全,同時保持并發編程的簡潔性。在 Rust 中,數據類型是構成變量和表達式的基石。理解 Rust 中的數據類型對于編寫高效、可靠的 Rust 代碼至關重要。 引言 Rust 的數據類型分為兩大類:基本數據類型和復合數…

Eigen線性代數求解器(分解類)

1. 核心分解類概覽 Eigen 提供多種矩陣分解方法&#xff0c;適用于不同矩陣類型&#xff08;稠密/稀疏、正定/非正定等&#xff09;&#xff1a; 分解類適用矩陣類型分解形式典型應用場景PartialPivLU方陣&#xff08;可逆&#xff09;APLUAPLU通用線性方程組求解FullPivLU任…

QQMusic項目功能總結

QQMusic項目功能總結 一、核心功能分類 &#xff08;一&#xff09;界面交互功能 功能模塊實現方式使用類&#xff08;自定義/Qt庫&#xff09;核心類說明窗口布局Head區&#xff08;圖標、搜索框、控制按鈕&#xff09; Body區&#xff08;左側功能欄右側頁面區&#xff09…

2025第十六屆藍橋杯大賽(軟件賽)網絡安全賽 Writeup

2025第十六屆藍橋杯大賽&#xff08;軟件賽&#xff09;網絡安全賽 Writeup 2025第十六屆藍橋杯大賽&#xff08;軟件賽&#xff09;網絡安全賽 Writeup情報收集黑客密室逃脫 數據分析ezEvtxflowzip 密碼破解EnigmaECBTraineasy_AES 逆向分析ShadowPhases 漏洞挖掘分析RuneBrea…

CSS Position 屬性完全指南

CSS 中的 position 屬性是布局的基礎&#xff0c;它決定了元素在頁面中的定位方式。理解各種定位值的行為和適用場景對于構建靈活、響應式的布局至關重要。 position 屬性的五個主要值 1. static&#xff08;默認值&#xff09; 元素遵循正常的文檔流不受 top, right, botto…

Java集成Redisson實現分布式鎖(實戰)

一、Redisson是什么 Redisson 是一個基于 Redis 實現的 Java 駐內存數據網格&#xff08;In-Memory Data Grid&#xff09;。它不僅提供了一系列分布式和可擴展的 Java 數據結構&#xff0c;還對 Redis 進行了封裝&#xff0c;讓開發者可以更便捷地使用 Redis。 二、Redisson…

linux的例行性工作(at)

使用場景&#xff1a; 生活中&#xff0c;我們有太多場景需要使用到鬧鐘&#xff0c;比如早上 7 點起床&#xff0c;下午 4 點開會&#xff0c;晚上 8 購物&#xff0c;等等 在 Linux 系統里&#xff0c;我們同樣也有類似的需求。比如我們想在凌晨 1 點將文件上傳服務器&#…

AAAI2016論文 UCO: A Unified Cybersecurity Ontology

作者信息 作者同樣是來自馬里蘭大學的。 嚴格說來&#xff0c;此文是Workshop論文&#xff0c;但是一篇非常經典的文章&#xff08;極少數嘗試構造通用安全本體的文章&#xff09;&#xff0c;引用非常多。 中心思想 設計UCO&#xff0c;集成來自不同網絡安全系統的異構數據…

【白雪講堂】構建與優化企業知識圖譜的實戰指南

在GEO&#xff08;生成式引擎優化&#xff09;時代&#xff0c;知識圖譜不僅是企業數據資產的“智慧大腦”&#xff0c;更是連接內容與AI理解之間的核心橋梁。一個高質量的知識圖譜&#xff0c;能夠顯著提高AI平臺對企業內容的識別度、相關性與推薦權重&#xff0c;從而在AI搜索…