vue2.0使用v-for循環(huán)制作多級嵌套菜單欄
使用v-for循環(huán)生成一個多級嵌套菜單欄,只要你學會了這個方法,幾乎所有的菜單欄都可以實現(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:[
/*所有第一級菜單*/
{
title:'一級菜單(1)',
id:1, //選項的唯一ID
parentId:0, //父級的ID
level:1 //所處的層級
},
{
title:'一級菜單(2)',
id:2,
parentId:0,
level:1
},
{
title:'一級菜單(3)',
id:3,
parentId:0,
level:1,
},
/*所有二級菜單*/
{
title:'二級菜單(1.1)',
id:4,
parentId:1,
level:2
},
{
title:'二級菜單(1.2)',
id:5,
parentId:1,
level:2
},
{
title:'二級菜單(2.1)',
id:6,
parentId:2,
level:2
},
{
title:'二級菜單(2.2)',
id:7,
parentId:2,
level:2
},
/*所有三級菜單*/
{
title:'三級菜單(1.1.1)',
id:8,
parentId:4,
level:3
},
{
title:'三級菜單(1.1.2)',
id:9,
parentId:4,
level:3
}
]
解釋:
1)菜單欄嵌套了多少層,就需要進行多少次v-for循環(huán);
2)通過v-if來選擇level=1的選項作為最外層;
3)通過判斷選項的parentId等于上一層的id,來確定它是哪個選項的子級菜單;
實現(xiàn)效果

總結(jié)
以上所述是小編給大家介紹的vue2.0使用v-for循環(huán)制作多級嵌套菜單欄,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
vue3配置Element及element-plus/lib/theme-chalk/index.css報錯的解決
這篇文章主要介紹了vue3配置Element及element-plus/lib/theme-chalk/index.css報錯的解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-03-03
vue使用vue-json-viewer插件展示JSON格式數(shù)據(jù)的方法
這篇文章主要給大家介紹了關(guān)于vue使用vue-json-viewer插件展示JSON格式數(shù)據(jù)的相關(guān)資料,前端使用這個插件可以方便展現(xiàn)出json格式的數(shù)據(jù),下載引入使用代碼可直接使用,需要的朋友可以參考下2024-05-05
Element中table組件(el-table)右側(cè)滾動條空白占位處理
當我設(shè)置了max-height,就會在表格右側(cè)出現(xiàn)一列空白的占位,本文主要介紹了Element中table組件(el-table)右側(cè)滾動條空白占位處理,感興趣的可以了解一下2023-09-09
vue項目如何實現(xiàn)Echarts在label中獲取點擊事件
這篇文章主要介紹了vue項目如何實現(xiàn)Echarts在label中獲取點擊事件,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-10-10

