vue2.0使用v-for循環(huán)制作多級(jí)嵌套菜單欄
使用v-for循環(huán)生成一個(gè)多級(jí)嵌套菜單欄,只要你學(xué)會(huì)了這個(gè)方法,幾乎所有的菜單欄都可以實(shí)現(xiàn)了。
方法
<div class="level-one" v-if="obj.level == 1" v-for="obj in bar1"><a>{{obj.title}}</a> <div class="level-two" v-if="obj1.parentId == obj.id " v-for="obj1 in bar1"><a>{{obj1.title}}</a> <div class="level-three" v-if="obj2.parentId == obj1.id" v-for="obj2 in bar1"><a>{{obj2.title}}</a></div> </div> </div> level-one{ text-indent: 1em; } level-two{ text-indent: 2em; } level-three{ text-indent: 3em; } bar1:[ /*所有第一級(jí)菜單*/ { title:'一級(jí)菜單(1)', id:1, //選項(xiàng)的唯一ID parentId:0, //父級(jí)的ID level:1 //所處的層級(jí) }, { title:'一級(jí)菜單(2)', id:2, parentId:0, level:1 }, { title:'一級(jí)菜單(3)', id:3, parentId:0, level:1, }, /*所有二級(jí)菜單*/ { title:'二級(jí)菜單(1.1)', id:4, parentId:1, level:2 }, { title:'二級(jí)菜單(1.2)', id:5, parentId:1, level:2 }, { title:'二級(jí)菜單(2.1)', id:6, parentId:2, level:2 }, { title:'二級(jí)菜單(2.2)', id:7, parentId:2, level:2 }, /*所有三級(jí)菜單*/ { title:'三級(jí)菜單(1.1.1)', id:8, parentId:4, level:3 }, { title:'三級(jí)菜單(1.1.2)', id:9, parentId:4, level:3 } ]
解釋:
1)菜單欄嵌套了多少層,就需要進(jìn)行多少次v-for循環(huán);
2)通過v-if來選擇level=1的選項(xiàng)作為最外層;
3)通過判斷選項(xiàng)的parentId等于上一層的id,來確定它是哪個(gè)選項(xiàng)的子級(jí)菜單;
實(shí)現(xiàn)效果
總結(jié)
以上所述是小編給大家介紹的vue2.0使用v-for循環(huán)制作多級(jí)嵌套菜單欄,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- vue-router+vuex addRoutes實(shí)現(xiàn)路由動(dòng)態(tài)加載及菜單動(dòng)態(tài)加載
- Vue.js 遞歸組件實(shí)現(xiàn)樹形菜單(實(shí)例分享)
- Vue.js組件tree實(shí)現(xiàn)無限級(jí)樹形菜單
- 基于vue.js實(shí)現(xiàn)側(cè)邊菜單欄
- vue addRoutes實(shí)現(xiàn)動(dòng)態(tài)權(quán)限路由菜單的示例
- Vue實(shí)現(xiàn)導(dǎo)航欄菜單
- Vue在頁(yè)面右上角實(shí)現(xiàn)可懸浮/隱藏的系統(tǒng)菜單
- Vue 動(dòng)態(tài)添加路由及生成菜單的方法示例
- vue2.0實(shí)現(xiàn)導(dǎo)航菜單切換效果
- vue實(shí)現(xiàn)伸縮菜單功能
相關(guān)文章
Vue?+?ElementUI表格內(nèi)實(shí)現(xiàn)圖片點(diǎn)擊放大效果的兩種實(shí)現(xiàn)方式
這篇文章主要介紹了Vue?+?ElementUI表格內(nèi)實(shí)現(xiàn)圖片點(diǎn)擊放大效果的兩種實(shí)現(xiàn)方式,第一種使用el-popover彈出框來實(shí)現(xiàn)而第二種使用v-viewer插件實(shí)現(xiàn),需要的朋友可以參考下2024-08-08vue新玩法VueUse工具庫(kù)具體用法@vueuse/core詳解
這篇文章主要介紹了vue新玩法VueUse-工具庫(kù)@vueuse/core,VueUse不是Vue.use,它是一個(gè)基于?Composition?API?的實(shí)用函數(shù)集合,下面是具體的一些用法,需要的朋友可以參考下2022-08-08Vant實(shí)現(xiàn)上傳多個(gè)圖片或視頻,更改視頻預(yù)覽圖
這篇文章主要介紹了Vant實(shí)現(xiàn)上傳多個(gè)圖片或視頻,更改視頻預(yù)覽圖,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-10-10Vue3+Element?Plus實(shí)現(xiàn)動(dòng)態(tài)標(biāo)簽頁(yè)以及右鍵菜單功能
這篇文章主要給大家介紹了關(guān)于Vue3+Element?Plus實(shí)現(xiàn)動(dòng)態(tài)標(biāo)簽頁(yè)以及右鍵菜單功能的相關(guān)資料,Vue?3和Element?Plus提供了一種簡(jiǎn)單的方法來實(shí)現(xiàn)側(cè)邊菜單欄與標(biāo)簽頁(yè)之間的聯(lián)動(dòng),文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-09-09Vuejs 實(shí)現(xiàn)簡(jiǎn)易 todoList 功能 與 組件實(shí)例代碼
本文通過實(shí)例代碼給大家介紹了Vuejs 實(shí)現(xiàn)簡(jiǎn)易 todoList 功能 與 組件,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-09-09vue3+springboot部署到Windows服務(wù)器的詳細(xì)步驟
這篇文章主要介紹了vue3+springboot部署到Windows服務(wù)器,配置Nginx時(shí),因?yàn)楝F(xiàn)在是把vue前端交給了Nginx代理,所以這里的端口號(hào)不一定是我們?cè)趘ue項(xiàng)目中設(shè)置的端口號(hào),本文給大家介紹的非常詳細(xì),需要的朋友參考下吧2022-10-10vue將單頁(yè)面改造成多頁(yè)面應(yīng)用的方法
最近領(lǐng)導(dǎo)交我一個(gè)項(xiàng)目是使用 vue-cli 搭建的單頁(yè)面應(yīng)用。下面小編通過本文給大家介紹vue將單頁(yè)面改造成多頁(yè)面應(yīng)用的方法 ,感興趣的朋友一起看看吧2018-11-11vue中$nexttick,$set,$forceupdate的區(qū)別
本文主要介紹了vue中$nexttick,$set,$forceupdate的區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07