怎么在Vue中利用遞歸實現(xiàn)樹形菜單?相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。
成都創(chuàng)新互聯(lián)公司是專業(yè)的河間網(wǎng)站建設(shè)公司,河間接單;提供網(wǎng)站設(shè)計制作、成都網(wǎng)站建設(shè),網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行河間網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊,希望更多企業(yè)前來合作!
數(shù)據(jù)結(jié)構(gòu):vue-router的數(shù)據(jù)結(jié)構(gòu)
const routes = [ { name: 'home', path: '/home', meta: { text: '首頁' } }, { name: 'inner', path: '/inner', meta: { text: '內(nèi)部平臺' }, children: [ { name: 'oa', path: 'oa', meta: { text: 'OA' } }, { name: 'jira', path: 'jira', meta: { text: 'Jira' } }, { name: 'wiki', path: 'wiki', meta: { text: 'Wiki' } }, { name: 'caiwu', path: 'caiwu', meta: { text: '財務(wù)' }, children: [ { name: 'chailv', path: 'chailv', meta: { text: '差旅' } }, { name: 'richang', path: 'richang', meta: { text: '日常' }, children: [ { name: 'taxi', path: 'taxi', meta: { text: '交通' } }, { name: 'tel', path: 'tel', meta: { text: '通信' } } ] } ] } ] }, { name: 'sec', path: '/sec', meta: { text: '審核' }, children: [ { name: 'acl', path: '/acl', meta: { text: 'ACL' } } ] } ]
組件實現(xiàn):
先看看render函數(shù),其中包含一個遞歸函數(shù)elements:
render (r) { return r( 'el-menu', { props: { backgroundColor: "#545c64", textColor: "#fff", activeTextColor: "#ffd04b" }, on: { select: this.onSelect } }, this.elements(this.routes, r) ) }
elements函數(shù):
elements (routes, r) { return routes .map(route => { if (!route.paths) route.paths = [] if (route.children && route.children.length) { return r( 'el-submenu', { props: { index: route.name } }, [ r( 'span', { slot: 'title' }, [ route.meta.text ] ), this.elements(route.children, r) ] ) } else if (route.path) { return r( 'el-menu-item', { props: { index: route.name } }, [ route.meta.text ] ) } else { return null } }) .filter(item => item) }
Vue具體輕量級框架、簡單易學(xué)、雙向數(shù)據(jù)綁定、組件化、數(shù)據(jù)和結(jié)構(gòu)的分離、虛擬DOM、運行速度快等優(yōu)勢,Vue中頁面使用的是局部刷新,不用每次跳轉(zhuǎn)頁面都要請求所有數(shù)據(jù)和dom,可以大大提升訪問速度和用戶體驗。
看完上述內(nèi)容,你們掌握怎么在Vue中利用遞歸實現(xiàn)樹形菜單的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
當(dāng)前題目:怎么在Vue中利用遞歸實現(xiàn)樹形菜單
分享鏈接:http://aaarwkj.com/article40/gjceeo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、企業(yè)網(wǎng)站制作、定制開發(fā)、網(wǎng)站收錄、網(wǎng)站排名、用戶體驗
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)