vue導(dǎo)航欄部分的動(dòng)態(tài)渲染實(shí)例
根據(jù)公司項(xiàng)目的需求,使用的是element-ui的nav-menu組件實(shí)現(xiàn)動(dòng)態(tài)渲染左側(cè)導(dǎo)航條的功能,這里我只寫到了四級(jí)菜單。
代碼部分:
<el-menu class='el-menu-vertical-demo' :router='true' v-for='(item, index) in navMenu' :key='index'> <el-submenu v-if='item.childs' :index='item.name' :route = 'item.value' class='edit_wrapper' @mouseover.native="overShow" @mouseout.native="outHide"> <template slot='title'> <i :class='item.icon'></i> <span slot='title'>{{item.alias}}</span> <i class='iconfont icon-shenpi edit' v-show='haha'></i> </template> <el-submenu v-if='item1.childs' v-for= '(item1, index) in item.childs' :key='item1.name' :index='item1.name' :route='item1.value'> <template slot='title'> <i :class='item1.icon'></i> <span slot='title'>{{item1.alias}}</span> </template> <el-submenu v-for= '(item2, index) in item1.childs' :key='item2.name' v-if='item2.childs' :index='item2.name' :route = 'item2.value'> <template slot='title'> <i :class='item2.icon'></i> <span slot='title'>{{item2.alias}}</span> </template> <el-submenu v-for= '(item3, index) in item2.childs' :key='item3.name' v-if='item3.childs' ::index='item3.name' :route = 'item3.value'> <template slot='title'> <i :class='item3.icon'></i> <span slot='title'>{{item3.alias}}</span> </template> <el-menu-item v-for= '(item4, index) in item3.childs' :key='item3.name' v-if='item4.childs == null' :index='item4.name' :route = 'item4.value'> <span>{{item4.alias}}</span> </el-menu-item> </el-submenu> <el-menu-item v-for= '(item3, index) in item2.childs' :key='item3.name' v-if='item3.childs == null' :index='item3.name' :route = 'item3.value'> <span>{{item3.alias}}</span> </el-menu-item> </el-submenu> <el-menu-item v-for= '(item2, index) in item1.childs' :key='item2.name' v-if='item2.childs == null' :index='item2.name' :route = 'item2.value'> <span>{{item2.alias}}</span> </el-menu-item> </el-submenu> <el-menu-item v-for= '(item1, index) in item.childs' :key='item1.name' v-if='item1.childs == null' :index='item1.name' :route = 'item1.value'> <span>{{item1.alias}}</span> </el-menu-item> </el-submenu> <el-menu-item v-if='item.childs == null' :index='item.name' :route = 'item.value'> <i :class='item.icon'></i> <span slot='title'>{{item.alias}}</span> </el-menu-item> </el-menu>
數(shù)據(jù)部分:
navMenu: [{ name: 'serveList', icon: 'iconfont icon-shezhi', alias: '金融服務(wù)目錄', value: '', childs: [ { name: 'channelManage', icon: '', alias: '渠道管理', value: '', childs: [ { name: 'channelManage_in', icon: '', alias: '渠道內(nèi)部管理', value: '', childs: [ { name: 'financial', icon: '', alias: '金融類', value: '/serveManage/financial', }, { name: 'no_financial', icon: '', alias: '非金融類', value: '/serveManage/no_financial', }, { name: 'query_class', icon: '', alias: '查詢類', value: '/serveManage/query_class', }, { name: 'square_class', icon: '', alias: '沖正類', value: '/serveManage/square_class', }, ] }, { name: 'process_services', icon: '', alias: '流程服務(wù)', value: '/serveManage/process_services' }, { name: 'cooperation_services', icon: '', alias: '合作方服務(wù)', value: '/serveManage/cooperation_services' }, ] }, { name: 'saveManage', icon: '', alias: '風(fēng)險(xiǎn)管理', value: '/serveManage/saveManage' }, { name: 'manageDecision', icon: '', alias: '管理決策', value: '/serveManage/manageDecision' }, { name: 'businessSupport', icon: '', alias: '業(yè)務(wù)支持', value: '/serveManage/businessSupport' }, { name: 'technicalSupport', icon: '', alias: '技術(shù)支持', value: '/serveManage/technicalSupport' } ] }, { name: 'serveRelation', icon: 'iconfont icon-shezhi', alias: '服務(wù)血緣關(guān)系', value: '/serveManage/serveRelation' }]
注意:因?yàn)楹衏hilds的目錄是沒有路由的,所以可以把它的value值設(shè)為空。
效果展示:
這樣我們就可以在其他頁面引入該組件就可以了。
以上這篇vue導(dǎo)航欄部分的動(dòng)態(tài)渲染實(shí)例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Vue項(xiàng)目中添加鎖屏功能實(shí)現(xiàn)思路
這篇文章主要介紹了Vue項(xiàng)目中添加鎖屏功能的實(shí)現(xiàn)思路,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-06-06Vue + Elementui實(shí)現(xiàn)多標(biāo)簽頁共存的方法
這篇文章主要介紹了Vue + Elementui實(shí)現(xiàn)多標(biāo)簽頁共存的方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-06-06vue滾動(dòng)軸插件better-scroll使用詳解
這篇文章主要為大家詳細(xì)介紹了vue滾動(dòng)軸插件better-scroll的使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-10-10vue項(xiàng)目實(shí)現(xiàn)webpack配置代理,解決跨域問題
這篇文章主要介紹了vue項(xiàng)目實(shí)現(xiàn)webpack配置代理,解決跨域問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-04-04vue3 reactive定義的引用類型直接賦值導(dǎo)致數(shù)據(jù)失去響應(yīng)式問題
這篇文章主要介紹了vue3 reactive定義的引用類型直接賦值導(dǎo)致數(shù)據(jù)失去響應(yīng)式問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06vue實(shí)現(xiàn)手機(jī)號(hào)碼的校驗(yàn)實(shí)例代碼(防抖函數(shù)的應(yīng)用場(chǎng)景)
這篇文章主要給大家介紹了關(guān)于vue實(shí)現(xiàn)手機(jī)號(hào)碼的校驗(yàn)的相關(guān)資料,主要是防抖函數(shù)的應(yīng)用場(chǎng)景,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用vue具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09vue props default Array或是Object的正確寫法說明
這篇文章主要介紹了vue props default Array或是Object的正確寫法說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-07-07