vue侧边栏动态生成下级菜单的方法


Posted in Javascript onSeptember 07, 2018

循环传入的数据去生成下级菜单

<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: '数据统计',
   subs: [
    {
    index: '/monitor',
    title: '客流展示'
    },
    {
    index: '/monitor/device',
    title: '设备采集'
    },
    {
    index: '/monitor/tv',
    title: '监控视频'
    }
   ]
   },{
   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设置'
    },{
    icon: 'el-icon-printer',
    index: '/decoration',
    title: '首页装修'
    },{
    icon: 'el-icon-printer',
    index: '/message',
    title: '消息设置'
    }
   ]
   },{
   icon: 'el-icon-printer',
   index: '10',
   title: '线下店',
   subs:[
    {
    icon: 'el-icon-printer',
    index: '/device',
    title: '设备管理'
    },{
    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: '优惠券'
   }
  ],
  }
 },
 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侧边栏动态生成下级菜单的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
初窥JQuery(二)事件机制(2)
Dec 06 Javascript
读jQuery之十 事件模块概述
Jun 27 Javascript
jQuery实现表头固定效果的实例代码
May 24 Javascript
js实现带搜索功能的下拉框实时搜索实时匹配
Nov 05 Javascript
表单验证插件Validation应用的实例讲解
Oct 10 Javascript
JavaScript每天必学之数组和对象部分
Sep 17 Javascript
domReady的实现案例
Nov 23 Javascript
ES6新特性之数组、Math和扩展操作符用法示例
Apr 01 Javascript
基于Vue实例生命周期(全面解析)
Aug 16 Javascript
Node.js实现发送邮件功能
Nov 06 Javascript
Vue使用Three.js加载glTF模型的方法详解
Jun 14 Javascript
springboot+vue+对接支付宝接口+二维码扫描支付功能(沙箱环境)
Oct 15 Javascript
Vuejs开发环境搭建及热更新【推荐】
Sep 07 #Javascript
小程序点赞收藏功能的实现代码示例
Sep 07 #Javascript
前端防止用户重复提交js实现代码示例
Sep 07 #Javascript
vue实现打印功能的两种方法
Sep 07 #Javascript
使用Angular-CLI构建NPM包的方法
Sep 07 #Javascript
详解如何构建一个Angular6的第三方npm包
Sep 07 #Javascript
vue2.0 可折叠列表 v-for循环展示的实例
Sep 07 #Javascript
You might like
用PHP调用Oracle存储过程
2006/10/09 PHP
php自动适应范围的分页代码
2008/08/05 PHP
PDO版本问题 Invalid parameter number: no parameters were bound
2013/01/06 PHP
php导出CSV抽象类实例
2014/09/24 PHP
PHP join()函数用法与实例讲解
2019/03/11 PHP
JavaScript window.setTimeout() 的详细用法
2009/11/04 Javascript
extjs关于treePanel+chekBox全部选中以及清空选中问题探讨
2013/04/02 Javascript
JavaScript通过RegExp实现客户端验证处理程序
2013/05/07 Javascript
javascript与cookie 的问题详解
2013/11/11 Javascript
利用CSS、JavaScript及Ajax实现图片预加载的三大方法
2017/01/22 Javascript
js中的触发事件对象event.srcElement与event.target详解
2017/03/15 Javascript
node+vue实现用户注册和头像上传的实例代码
2017/07/20 Javascript
jQuery dateRangePicker插件使用方法详解
2017/07/28 jQuery
jQuery Collapse1.1.0折叠插件简单使用
2017/08/28 jQuery
全面解析vue router 基本使用(动态路由,嵌套路由)
2018/09/02 Javascript
对angularJs中controller控制器scope父子集作用域的实例讲解
2018/10/08 Javascript
详解angular2如何手动点击特定元素上的点击事件
2018/10/16 Javascript
vue fetch中的.then()的正确使用方法
2020/04/17 Javascript
javascript设计模式 ? 状态模式原理与用法实例分析
2020/04/22 Javascript
使用typescript快速开发一个cli的实现示例
2020/12/09 Javascript
Vue在H5 项目中使用融云进行实时个人单聊通讯
2020/12/14 Vue.js
python发布模块的步骤分享
2014/02/21 Python
2款Python内存检测工具介绍和使用方法
2014/06/01 Python
利用python批量给云主机配置安全组的方法教程
2017/06/21 Python
Python3中正则模块re.compile、re.match及re.search函数用法详解
2018/06/11 Python
Python设计模式之桥接模式原理与用法实例分析
2019/01/10 Python
django框架forms组件用法实例详解
2019/12/10 Python
python模块内置属性概念及实例
2021/02/18 Python
英国骑行、跑步、游泳、铁人三项运动装备专卖店:Wiggle
2016/08/23 全球购物
互动出版网:专业书籍
2017/03/21 全球购物
优秀研究生自我鉴定
2013/12/04 职场文书
中学家长会邀请函
2014/01/17 职场文书
单位委托函范文
2015/01/29 职场文书
2016猴年开门红标语口号
2015/12/26 职场文书
初中历史教学反思
2016/02/19 职场文书
MIME类型中application/xml与text/xml的区别介绍
2022/01/18 HTML / CSS