首先来总结element ui 官方文档的左侧菜单结构,带有el-submenu为子级节点,el-menu-item表示没有下级。当然,菜单不能写死,因为菜单也许不止两级,所以我们需要递归来实现。根据当前节点是否有下级去判断,如果有下级,则继续调用子级,直到没有下级为止,下面我贴上左侧菜单所有的代码:

请求数据格式

[

{

name: "首页",

id: -1,

icon: "el-icon-picture-outline-round",

url: "/index",

children: []

},

{

name: "按钮",

id: 20,

icon: "el-icon-message-solid",

url: "/button",

children: []

},

{

name: "测试1",

id: 1,

icon: "el-icon-s-claim",

url: "",

children: [

{

id: 4,

parentid: 1,

name: "测试1-1",

icon: "el-icon-chat-dot-round",

url: "",

children: [

{

id: 8,

parentid: 1,

name: "测试1-1-1",

icon: "el-icon-cloudy",

url: "/test",

children: []

},

{

id: 9,

parentid: 1,

name: "测试1-1-2",

icon: "el-icon-files",

url: "/test1",

children: []

}

]

},

{

id: 5,

parentid: 1,

name: "测试1-2",

icon: "el-icon-shopping-cart-1",

url: "/test3",

children: []

}

]

},

{

name: "测试2",

id: 2,

icon: "el-icon-menu",

url: "",

children: [

{

id: 6,

parentid: 2,

name: "测试2-1",

icon: "el-icon-folder-checked",

url: "",

children: []

},

{

id: 7,

parentid: 2,

name: "测试2-2",

icon: "el-icon-folder-remove",

url: "",

children: []

}

]

},

{

name: "测试3",

id: 3,

icon: "el-icon-monitor",

url: "",

children: []

}

]

menu.vue

{{logo}}

LG

:background-color="backgroundColor"

:text-color="textColor"

:default-active="$route.meta.pageId"

:collapse="collapse"

>

{{item.name}}

import subMenu from "./subMenu";

export default {

name: "menuList",

components: {

subMenu

},

data() {

return {

collapse: false, //是否折叠

list: [], //当行菜单数据源

backgroundColor: "#304156", //导航菜单背景颜色

textColor: "#BFCBD9", //导航菜单文字颜色

logo: "LOGO" //logo

};

}

};

.el-menu {

border-right: none;

a {

text-decoration: none;

}

}

.logo-con {

height: 64px;

padding: 10px;

.title {

position: relative;

text-align: center;

font-size: 20px;

height: 64px;

line-height: 64px;

span {

padding: 0 5px 0 0;

color: #409eff;

font-size: 20px;

}

}

}

submenu.vue

{{props.data.name}}

{{item.name}}

export default {

name: "submenu",

props: {

data: [Array, Object]

}

};

.el-submenu {

.el-menu-item {

padding: 0;

}

}

效果图

vue 首页导航+左侧菜单

1. Mock.js 前后端分离开发开发过程当中,经常会遇到以下几个尴尬的场景: 1. 老大,接口文档还没输出,我的好多活干不下去啊! 2. 后端小哥,接口写好了没,我要测试啊! 前后端分离之后,前端 ...

使用layui-tree美化左侧菜单,点击生成tab选项

layui-tree美化左侧菜单 html

随机推荐

php 读取json数据文本所遇到的问题

json数据属于特殊的字符串,一般自己写的json数据不要误加空格,回车,换行, 若是从其他文件读取过来的json数据很有可能带有空格,回车,换行等符号,导致使用json_decode()转诚数组失败 ...

SQL入门经典(一)之简介

今天是我第一天开通博客,也是我的第一篇博客.以后为大家带来第一篇关于学习技术性文章,这段时间会为大家带来是SQL入门学习.希望大家坚持读下去,因为学历有限.我也是初学者.语言表达能力不好和知识点不足, ...

用一个下午从零开始搭建一个基础lbs查询服务

背景 现在做一个sns如果没有附近的功能,那就是残缺的.网上也有很多现成的lbs服务,封装的很完整了. 我首先用了下百度lbs云,但是有点不适合自己的需要,因此考虑用mongodb建一个简单的lbs服 ...

SQL存储过程调试

转自:http://www.cnblogs.com/xiangzhong/archive/2012/10/27/2742974.html 今天突然有同事问起,如何在sqlserver中调试存储过程(我 ...

VS2012 编译GDAL

先安装VS 2012, 然后下载GDAL最新版本代码,解压. 用管理员权限打开Developer Command Prompt for VS2012终端,进入代码目录. 然后运行命令: nmake / ...

C++库研究笔记——函数名的宏定义

6.47 Function Names as Strings:http://gcc.gnu.org/onlinedocs/gcc/Function-Names.html GCC provides th ...

Cocos Creator 监听安卓屏幕下方返回键

addEscEvent = function(node){ cc.eventManager.addListener({ event: cc.EventListener.KEYBOARD, onKeyP ...

Windos下pip配置豆瓣源

C:\Users\liche\pip 下创建pip.ini文件 pip.ini [global] index-url = http://pypi.douban.com/simple [install] ...

Hibernate的主配置文件hibernate.cfg.xml

1:Hibernate的主配置文件的名字必须是hibernate.cfg.xml(主要配置文件中主要配置:数据库连接信息,其他参数,映射信息):常用配置查看源码:Hibernate\hibernate ...

Redis脚本

8.启动 /usr/local/bin/redis-server /etc/redis/redis.conf ./redis-server /home/work/redis/redis.conf &a ...

vue element html左侧菜单,vue生成element左侧菜单相关推荐

  1. php 递归生成树形菜单,递归生成树形结构菜单

    public List listWithTree() { //1.查出所有菜单 List categoryEntities = categoryDao.selectList(null); //2.组装 ...

  2. 基于vue+element实现多级菜单动态生成

    使用element的NavMenu组件+vue的组件递归实现动态生成菜单. 首先创建对象记录菜单的标题.链接.子集等信息. menus: [{title: "首页",icon: & ...

  3. 【PC端vue ui框架学习】vue项目如何使用基于vue的UI框架Element

    看了下iView之后,顺便看了看同样基于vuejs的ui框架Element,那么在vue项目中应该如何使用Element呢?以下做简单的记录. 官网定义:Element,一套为开发者.设计师和产品经理 ...

  4. html 左侧 树形菜单,vue左侧菜单,树形图递归实现代码

    学习vue有一段时间了,最近使用vue做了一套后台管理系统,左侧菜单需求是这样的,可以多层,数据由后台传递.也因为自己对官方文档的不熟悉使得自己踩了不少坑,今天写出来和大家一起分享. 效果图如下所示: ...

  5. vue组件库介绍以及组件库Element UI 的使用

    组件库 前言 这篇文章介绍vue组件库! 介绍什么是组件库以及Element UI组件库的使用! 看完不会你打我.哈哈哈,开玩笑的,不多说,上刺刀!! 1. 什么是 vue 组件库 在实际开发中,前端 ...

  6. 基于Element,快速开发Vue项目

    Element,是一套基于Vue2.0的UI组件库,利用它,我们可以可以快速开发我们的Vue项目. 官网网址:http://element-cn.eleme.io/#/zh-CN 闲话不多说,我们将基 ...

  7. vue根据后端菜单数据生成动态路由

    动态路由初体验,存在不足,欢迎点评指正~ 前言:在之前的项目中,菜单是动态获取的,而路由是写死的,配置路由的时候只要保证路由的path与菜单的index(elementUI的el-menu组件)相同就 ...

  8. element ui 菜单 动态生成 导航

    1. 利用饿了么ui 的 导航菜单组件 (el-menu)来结合 后台返回的 菜单数组进行循环嵌套. 2.看如下代码 <el-menu:default-active="activeIn ...

  9. 【VUE项目实战】17、通过接口获取菜单并渲染

    接上篇<16.主页Header和左侧菜单栏布局> 上一篇我们编写了头部Header和左侧菜单栏的布局样式,本篇我们来通过接口获取菜单数据,并重新加载菜单至左侧菜单栏. 一.获取菜单数据的权 ...

最新文章

  1. WM-Tcode集合
  2. VTK:功能袋图用法实战
  3. 学术与技术(与队长交流偶得)
  4. php7 myrypt,nginx + php 配置
  5. python中if的效率_Python 代码性能优化技巧
  6. 解决PhoneGap在Android手机上的全屏问题
  7. 计算机网络模拟校园,计算机网络课程设计-模拟校园网组网实验
  8. [转自李战博客]悟透JavaScript
  9. 数学与计算机科学学院宣传词,【榜样人物】筑梦前行 不负韶华——数学与计算机科学学院姚彬彬同学的考研心路...
  10. 大学计算机基础教程模拟选择题,【浙江大学】大学计算机基础教程——习题与参考答案...
  11. 408计算机及格要什么水平,2019考研计算机408难度水平?
  12. 撰写SCI论文的选题思路与技巧 - 易智编译EaseEditing
  13. java输出hello word,新手求教如何输出helloword
  14. AUTOCAD使用笔记
  15. Linux ping 测试IP地址与 telnet 测试IP端口
  16. 基于Java的奖学金评定管理系统
  17. 闪兼云带你游历互联网网赚的不同时代
  18. 为什么不推荐你去阿里,这些公司朝九晚五不打卡,时薪高到逆天…
  19. 前方是绝路,希望在转角
  20. Eova UI Validator 完美解决方案

热门文章

  1. QGuiApplication
  2. 咸阳在线打印计算机模块准考证,计算机等级考试准考证打印
  3. iPhone查看WiFi密码(篇章一)
  4. 斯坦福大学神经网络_斯坦福大学欺骗专家和网络安全首席执行官解释了为什么人们迷上网络骗局
  5. IT部落格新版上线(http://www.itbuluoge.com/)
  6. 集群-大规模Linux集群部署-MPI集群搭建与MPI编程
  7. 计算机操作系统双语教程,计算机操作系统双语教程
  8. FLASH脚本代码大全转
  9. 2016年至2020年英语四六级真题解析听力音频文件
  10. IMU惯性测量单元学习与初始对准理论知识学习