vue側(cè)邊欄動態(tài)生成下級菜單的方法
循環(huán)傳入的數(shù)據(jù)去生成下級菜單
<template> <div class="headBar"> <div class="title"> 微商城管理后臺 </div> <el-menu class="el-menu-headBar" mode="horizontal" @select="handleSelect" background-color="#000000" text-color="#fff" active-text-color="#ffd04b" :unique-opened="true" :default-active="onRoutes" router> <template v-for="item in items" > <template v-if="item.subs" > <el-submenu :index="item.index"> <template slot="title" > {{item.title}} </template> <el-menu-item v-for="(subItem,i) in item.subs" :key="i" :index="subItem.index"> {{ subItem.title }} </el-menu-item> </el-submenu> </template> <template v-else> <el-menu-item :index="item.index"> <label>{{ item.title }}</label> </el-menu-item> </template> </template> </el-menu> </div> </template> <script> export default { data() { return { activeIndex: "1", items: [ { icon: 'el-icon-menu', index: '1', title: '數(shù)據(jù)統(tǒng)計', subs: [ { index: '/monitor', title: '客流展示' }, { index: '/monitor/device', title: '設(shè)備采集' }, { index: '/monitor/tv', title: '監(jiān)控視頻' } ] },{ icon: 'el-icon-goods', index: '/product', title: '商品管理', },{ icon: 'el-icon-goods', index: '/category', title: '類目管理', },{ icon: 'fa fa-cart-arrow-down', index: '/order', title: '訂單一覽' },{ icon: 'fa fa-user-o', index: '/merchant', title: '商家信息' },{ icon: 'el-icon-printer', index: '9', title: '微商城', subs:[ { icon: 'el-icon-printer', index: '/banner', title: 'banner設(shè)置' },{ icon: 'el-icon-printer', index: '/decoration', title: '首頁裝修' },{ icon: 'el-icon-printer', index: '/message', title: '消息設(shè)置' } ] },{ icon: 'el-icon-printer', index: '10', title: '線下店', subs:[ { icon: 'el-icon-printer', index: '/device', title: '設(shè)備管理' },{ icon: 'el-icon-printer', index: '/advertise', title: '廣告管理' },{ icon: 'el-icon-printer', index: '/version', title: '版本管理' } ] },{ icon: 'el-icon-printer', index: '/largeUI', title: '大屏' },{ icon: 'el-icon-printer', index: '/coupon', title: '優(yōu)惠券' } ], } }, methods: { handleSelect(key, keyPath) { console.log(key, keyPath); } }, computed:{ onRoutes(){ return this.$route.path.replace('/',''); } } } </script> <style scoped> .el-menu-headBar { width: 80%; min-width: 950px; font-size: 12px; border-bottom: 1px #000000; } .headBar { width: 100%; height: 50px; display: flex; background-color: #000000; } .title { background-color: #ffdb15; color: #000; height: 100%; min-width: 200px; width: 200px; display: flex; justify-content: center; align-items: center; letter-spacing: 5px; font-size: 17px; } </style>
以上這篇vue側(cè)邊欄動態(tài)生成下級菜單的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue子組件改變父組件傳遞的prop值通過sync實現(xiàn)數(shù)據(jù)雙向綁定(DEMO)
本文通過一個demo給大家介紹了vue子組件改變父組件傳遞的prop值通過sync實現(xiàn)數(shù)據(jù)雙向綁定,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2020-02-02uniapp使用scroll-view下拉刷新無法取消的坑及解決
這篇文章主要介紹了uniapp使用scroll-view下拉刷新無法取消的坑及解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-05-05純前端使用Vue3上傳文件到minio文件服務(wù)器(粘貼可直接用)
vue是目前最流行的前端框架,下面這篇文章主要給大家介紹了關(guān)于純前端使用Vue3上傳文件到minio文件服務(wù)器的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2024-04-04如何使用elementUI組件實現(xiàn)表格的分頁及搜索功能
最近在使用element-ui的表格組件時,遇到了搜索框功能的實現(xiàn)問題,這篇文章主要給大家介紹了關(guān)于如何使用elementUI組件實現(xiàn)表格的分頁及搜索功能的相關(guān)資料,需要的朋友可以參考下2023-03-03Vue中響應(yīng)式系統(tǒng)實現(xiàn)原理圖文講解
Vue的響應(yīng)式實現(xiàn)是借助Object.defineProperty通過重寫getter和setter方法來進行的數(shù)據(jù)劫持,Vue3通過Proxy代理攔截對象中任意屬性的變化,通過Reflect反射對源對象的屬性進行操作,然后再在get里收集依賴在set里派發(fā)更新2023-03-03詳解用vue2.x版本+adminLTE開源框架搭建后臺應(yīng)用模版
這篇文章主要介紹了用vue2.x版本+adminLTE開源框架 搭建后臺應(yīng)用模版,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-03-03Vuejs學(xué)習(xí)筆記之使用指令v-model完成表單的數(shù)據(jù)雙向綁定
表單類控件承載了一個網(wǎng)頁數(shù)據(jù)的錄入與交互,本章將介紹如何使用指令v-model完成表單的數(shù)據(jù)雙向綁定功能,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值。感興趣的朋友跟隨小編一起看看吧2019-04-04