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在頁面右上角實(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-08
vue新玩法VueUse工具庫具體用法@vueuse/core詳解
這篇文章主要介紹了vue新玩法VueUse-工具庫@vueuse/core,VueUse不是Vue.use,它是一個(gè)基于?Composition?API?的實(shí)用函數(shù)集合,下面是具體的一些用法,需要的朋友可以參考下2022-08-08
Vant實(shí)現(xiàn)上傳多個(gè)圖片或視頻,更改視頻預(yù)覽圖
這篇文章主要介紹了Vant實(shí)現(xiàn)上傳多個(gè)圖片或視頻,更改視頻預(yù)覽圖,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-10-10
Vue3+Element?Plus實(shí)現(xiàn)動(dòng)態(tài)標(biāo)簽頁以及右鍵菜單功能
這篇文章主要給大家介紹了關(guān)于Vue3+Element?Plus實(shí)現(xiàn)動(dòng)態(tài)標(biāo)簽頁以及右鍵菜單功能的相關(guān)資料,Vue?3和Element?Plus提供了一種簡單的方法來實(shí)現(xiàn)側(cè)邊菜單欄與標(biāo)簽頁之間的聯(lián)動(dòng),文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-09-09
Vuejs 實(shí)現(xiàn)簡易 todoList 功能 與 組件實(shí)例代碼
本文通過實(shí)例代碼給大家介紹了Vuejs 實(shí)現(xiàn)簡易 todoList 功能 與 組件,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-09-09
vue3+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-10
vue中$nexttick,$set,$forceupdate的區(qū)別
本文主要介紹了vue中$nexttick,$set,$forceupdate的區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07

