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 相关文章推荐
关于eval 与new Function 到底该选哪个?
Apr 17 Javascript
js中settimeout方法加参数
Feb 28 Javascript
jQuery封装的tab选项卡插件分享
Jun 16 Javascript
JS实现滑动菜单效果代码(包括Tab,选项卡,横向等效果)
Sep 24 Javascript
浅析jQuery Ajax请求参数和返回数据的处理
Feb 24 Javascript
JavaScript中的ParseInt(&quot;08&quot;)和“09”返回0的原因分析及解决办法
May 19 Javascript
AngularJS实现星星等级评分功能
Sep 24 Javascript
JS实现图片居中悬浮效果
Dec 25 Javascript
ES6 class的应用实例分析
Jun 27 Javascript
JavaScript如何获取一个元素的样式信息
Jul 29 Javascript
JS实现长图上下滚动效果
Mar 19 Javascript
js实现浏览器打印功能的示例代码
Jul 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 FOR MYSQL 代码生成助手(根据Mysql里的字段自动生成类文件的)
2011/07/23 PHP
PHP 查找字符串常用函数介绍
2012/06/07 PHP
2个Codeigniter文件批量上传控制器写法例子
2014/07/25 PHP
php实现模拟post请求用法实例
2015/07/11 PHP
php批量删除操作代码分享
2017/02/26 PHP
PHP读取XML文件的方法实例总结【DOMDocument及simplexml方法】
2019/09/10 PHP
php实现映射操作实例详解
2019/10/02 PHP
Thinkphp5框架异常处理操作实例分析
2020/06/03 PHP
利用jQuery操作对象数组的实现代码
2011/04/27 Javascript
HTML5之lang属性与dir属性的详解
2013/06/19 Javascript
用html+css+js实现的一个简单的图片切换特效
2014/05/28 Javascript
推荐10 款 SVG 动画的 JavaScript 库
2015/03/24 Javascript
jQuery实现多级下拉菜单jDropMenu的方法
2015/08/28 Javascript
新入门node.js必须要知道的概念(必看篇)
2016/08/10 Javascript
Bootstrap导航条学习使用(二)
2017/02/08 Javascript
详解React开发必不可少的eslint配置
2018/02/05 Javascript
浅谈Koa2框架利用CORS完成跨域ajax请求
2018/03/06 Javascript
微信小程序冒泡事件及其阻止方法实例分析
2018/12/06 Javascript
浅谈ECMAScript 中的Array类型
2019/06/10 Javascript
jQuery zTree树插件的使用教程
2019/08/16 jQuery
浅析TypeScript 命名空间
2020/03/19 Javascript
[04:29]2014DOTA2国际邀请赛 主赛事第三日TOPPLAY
2014/07/21 DOTA
[03:59]第二届DOTA2亚洲邀请赛选手传记-VGJ.rOtk
2017/04/03 DOTA
Python用模块pytz来转换时区
2016/08/19 Python
利用matplotlib+numpy绘制多种绘图的方法实例
2017/05/03 Python
关于Python中空格字符串处理的技巧总结
2017/08/10 Python
python剪切视频与合并视频的实现
2020/03/03 Python
Python+redis通过限流保护高并发系统
2020/04/15 Python
Python+OpenCV图像处理——图像二值化的实现
2020/10/24 Python
python Pexpect模块的使用
2020/12/25 Python
html5指南-2.如何操作document metadata
2013/01/07 HTML / CSS
荷兰DOD药房中文官网:DeOnlineDrogist
2020/12/27 全球购物
毕业证丢失证明
2014/01/15 职场文书
法制教育主题班会
2015/08/13 职场文书
创业分两种人:那么哪些适合创业?,哪些适合不适合创业呢?
2019/08/23 职场文书
vue项目中的支付功能实现(微信支付和支付宝支付)
2022/02/18 Vue.js