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 相关文章推荐
js限制文本框为整数和货币的函数代码
Oct 13 Javascript
jquery Tab效果和动态加载的简单实例
Dec 11 Javascript
HTML5+setCutomValidity()函数验证表单实例分享
Apr 24 Javascript
14款经典网页图片和文字特效的jQuery插件-前端开发必备
Aug 25 Javascript
Bootstrap实现登录校验表单(带验证码)
Jun 23 Javascript
jQuery简单实现彩色云标签效果示例
Aug 01 Javascript
基于JavaScript实现购物车功能
Feb 07 Javascript
微信小程序 基础知识css样式media标签
Feb 15 Javascript
webpack4.0打包优化策略整理小结
Mar 30 Javascript
vue.js使用3DES加密的方法示例
May 18 Javascript
node之本地服务器图片上传的方法示例
Mar 26 Javascript
vue-cli3 项目优化之通过 node 自动生成组件模板 generate View、Component
Apr 30 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实现生成带背景的图形验证码功能
2016/10/03 PHP
PHP7生产环境队列Beanstalkd用法详解
2020/05/19 PHP
jQuery中验证表单提交方式及序列化表单内容的实现
2014/01/06 Javascript
使用ngView配合AngularJS应用实现动画效果的方法
2015/06/19 Javascript
js判断登陆用户名及密码是否为空的简单实例
2016/05/16 Javascript
JS实现pasteHTML兼容ie,firefox,chrome的方法
2016/06/22 Javascript
Js实现京东无延迟菜单效果实例(demo)
2017/06/02 Javascript
详解利用 Express 托管静态文件的方法
2017/09/18 Javascript
Laravel整合Bootstrap 4的完整方案(推荐)
2018/01/25 Javascript
Element图表初始大小及窗口自适应实现
2020/07/10 Javascript
Nuxt的动态路由和参数校验操作
2020/11/09 Javascript
js实现纯前端压缩图片
2020/11/16 Javascript
微信小程序自定义胶囊样式
2020/12/27 Javascript
Vue中inheritAttrs的使用实例详解
2020/12/31 Vue.js
[03:22]DOTA2超级联赛专访单车:找到属于自己的英雄
2013/06/08 DOTA
解读Python中degrees()方法的使用
2015/05/18 Python
利用python实现xml与数据库读取转换的方法
2017/06/17 Python
Python环境搭建之OpenCV的步骤方法
2017/10/20 Python
Python实现拷贝/删除文件夹的方法详解
2018/08/29 Python
使用python-opencv读取视频,计算视频总帧数及FPS的实现
2019/12/10 Python
Python3 使用selenium插件爬取苏宁商家联系电话
2019/12/23 Python
Python字符串中删除特定字符的方法
2020/01/15 Python
Python2 与Python3的版本区别实例分析
2020/03/30 Python
css3 伪类选择器快速复习小结
2019/09/10 HTML / CSS
HTML5+CSS设置浮动却没有动反而在中间且错行的问题
2020/05/26 HTML / CSS
HTML5逐步分析实现拖放功能的方法
2020/09/30 HTML / CSS
必须要使用游标的SQL语句有那些
2012/05/07 面试题
建筑工程技术应届生求职信
2013/11/17 职场文书
员工拾金不昧表扬信
2014/01/09 职场文书
乡镇务虚会发言材料
2014/10/20 职场文书
文案策划岗位职责
2015/02/11 职场文书
员工离职证明范本
2015/06/12 职场文书
趣味运动会简讯
2015/07/20 职场文书
SQL实战演练之网上商城数据库商品类别数据操作
2021/10/24 MySQL
apache ftpserver搭建ftp服务器
2022/05/20 Servers
Java 中的 Lambda List 转 Map 的多种方法详解
2022/07/07 Java/Android