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 相关文章推荐
JavaScript 继承详解(一)
Jul 13 Javascript
js用闭包遍历树状数组的方法
Mar 19 Javascript
jquery获取当前元素索引值用法实例
Jun 10 Javascript
JS 面向对象之继承---多种组合继承详解
Jul 10 Javascript
js时间戳与日期格式之间转换详解
Dec 11 Javascript
简单明了区分escape、encodeURI和encodeURIComponent
May 26 Javascript
浅析vue.js数组的变异方法
Jun 30 Javascript
IE9 elementUI文件上传的问题解决
Oct 17 Javascript
vuex的module模块用法示例
Nov 12 Javascript
JavaScript实现五子棋游戏的方法详解
Jul 08 Javascript
JS事件流与事件处理程序实例分析
Aug 16 Javascript
node+multer实现图片上传的示例代码
Feb 18 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
删除无限级目录与文件代码共享
2006/07/12 PHP
解决文件名解压后乱码的问题 将文件名进行转码的代码
2012/01/10 PHP
PHP四种基本排序算法示例
2015/04/09 PHP
ecshop适应在PHP7的修改方法解决报错的实现
2016/11/01 PHP
yii2.0整合阿里云oss的示例代码
2017/09/19 PHP
浅谈PHP匿名函数和闭包
2019/03/08 PHP
JS动态获取当前时间,并写到特定的区域
2013/05/03 Javascript
判断window.onload是否多次使用的方法
2014/09/21 Javascript
javascript自动生成包含数字与字符的随机字符串
2015/02/09 Javascript
基于javascript实现listbox左右移动
2016/01/29 Javascript
基于bootstrap插件实现autocomplete自动完成表单
2016/05/07 Javascript
JavaScript lodash常见用法系列小结
2016/08/24 Javascript
说说如何利用 Node.js 代理解决跨域问题
2019/04/22 Javascript
Angular2实现的秒表及改良版示例
2019/05/10 Javascript
JavaScript canvas实现雪花随机动态飘落
2020/02/08 Javascript
微信小程序的引导页实现代码
2020/06/24 Javascript
简单解决Python文件中文编码问题
2015/11/22 Python
使用python实现tcp自动重连
2017/07/02 Python
python处理Excel xlrd的简单使用
2017/09/12 Python
python sys,os,time模块的使用(包括时间格式的各种转换)
2018/04/27 Python
django 在原有表格添加或删除字段的实例
2018/05/27 Python
python防止随意修改类属性的实现方法
2019/08/21 Python
Vans(范斯)德国官网:美国南加州的原创极限运动潮牌
2017/05/02 全球购物
英国排名第一的餐具品牌:Denby Pottery
2019/11/01 全球购物
Linux文件系统类型
2012/02/15 面试题
业务员岗位职责范本
2013/12/15 职场文书
四年级评语大全
2014/04/21 职场文书
运动会入场口号
2014/06/07 职场文书
六查六看个人剖析材料
2014/10/14 职场文书
省委召开党的群众路线教育实践活动总结大会报告
2014/10/21 职场文书
2014年度考核工作总结
2014/12/24 职场文书
店铺转让协议书
2015/01/29 职场文书
放假通知怎么写
2015/08/18 职场文书
关于感恩的歌曲整理(8首)
2019/08/14 职场文书
解决vue $http的get和post请求跨域问题
2021/06/07 Vue.js
python 中的jieba分词库
2021/11/23 Python