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中使用ajax获取远程页面信息
Nov 13 Javascript
JavaScript实现数组在指定位置插入若干元素的方法
Apr 06 Javascript
jQuery根据元素值删除数组元素的方法
Jun 24 Javascript
jQuery实现右侧显示可向左滑动展示的深色QQ客服效果代码
Oct 23 Javascript
jQuery表格插件datatables用法详解
Nov 23 Javascript
浅析jQuery事件之on()方法绑定多个选择器,多个事件
Apr 27 Javascript
javascript实现根据汉字获取简拼
Sep 25 Javascript
js实现日期显示的一些操作(实例讲解)
Jul 27 Javascript
详解使用Typescript开发node.js项目(简单的环境配置)
Oct 09 Javascript
解决使用vue.js路由后失效的问题
Mar 17 Javascript
Vue实现表格中对数据进行转换、处理的方法
Sep 06 Javascript
微信小程序代码上传、审核发布小程序
May 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
PHP安装问题
2006/10/09 PHP
php中支持多种编码的中文字符串截取函数!
2007/03/20 PHP
PHP使用CURL模拟登录的方法
2015/07/08 PHP
laravel 验证错误信息到 blade模板的方法
2019/09/29 PHP
laravel5表单唯一验证的实例代码
2019/09/30 PHP
laravel实现上传图片的两种方式小结
2019/10/12 PHP
Thinkphp 框架扩展之行为扩展原理与实现方法分析
2020/04/23 PHP
在网页中屏蔽快捷键
2006/09/06 Javascript
浅析ajax请求json数据并用js解析(示例分析)
2013/07/13 Javascript
js二维数组定义和初始化的三种方法总结
2014/03/03 Javascript
jquery缓动swing liner控制动画过程不同时刻的速度
2014/05/29 Javascript
node.js中的fs.rmdirSync方法使用说明
2014/12/16 Javascript
jQuery Ajax调用WCF服务详细教程
2015/03/31 Javascript
nodejs调用cmd命令实现复制目录
2015/05/04 NodeJs
JS与jQ读取xml文件的方法
2015/12/08 Javascript
教你如何终止JQUERY的$.AJAX请求
2016/02/23 Javascript
jQuery dataTables与jQuery UI 对话框dialog的使用教程
2016/09/02 Javascript
深入理解JavaScript定时机制
2016/10/27 Javascript
浅谈js键盘事件全面控制
2016/12/01 Javascript
html5+CSS 实现禁止IOS长按复制粘贴功能
2016/12/28 Javascript
Node.js中的不安全跳转如何防御详解
2018/10/21 Javascript
python多行字符串拼接使用小括号的方法
2020/03/19 Python
django中ORM模型常用的字段的使用方法
2019/03/05 Python
pandas计数 value_counts()的使用
2019/06/24 Python
python pytest进阶之fixture详解
2019/06/27 Python
Python将视频或者动态图gif逐帧保存为图片的方法
2019/09/10 Python
Python3.x+迅雷x 自动下载高分电影的实现方法
2020/01/12 Python
python如何实现复制目录到指定目录
2020/02/13 Python
Python安装Bs4的多种方法
2020/11/28 Python
英国鹦鹉店:Parrot Essentials
2018/12/03 全球购物
瑞典耳机品牌:URBANISTA
2019/12/03 全球购物
大学生迟到检讨书500字
2014/10/17 职场文书
导游词开场白
2015/01/31 职场文书
工地食品安全责任书
2015/05/09 职场文书
积极心理学课程心得体会
2016/01/22 职场文书
德劲DE1105机评
2022/04/05 无线电