位置: IT常识 - 正文

Vue开发实例(11)之el-menu实现左侧菜单导航(vue实战开发项目视频)

编辑:rootadmin
Vue开发实例(11)之el-menu实现左侧菜单导航 作者简介

推荐整理分享Vue开发实例(11)之el-menu实现左侧菜单导航(vue实战开发项目视频),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue开发视频教程,vue开发实例(07)之编写头部页面,vue实例教程,vue项目开发实战案例,vue开发案例,vue开发案例,vue开发实例(07)之编写头部页面,vue开发案例,内容如对您有帮助,希望把文章链接给更多的朋友!

作者名:编程界明世隐 简介:CSDN博客专家,从事软件开发多年,精通Java、JavaScript,博主也是从零开始一步步把学习成长、深知学习和积累的重要性,喜欢跟广大ADC一起打野升级,欢迎您关注,期待与您一起学习、成长、起飞!

引言

Vue是现在前端最流行的框架之一,作为前端开发人员应该要熟练的掌握它,如果你是打算学习Vue的开发流程,那么来吧,明哥带你快速上手、带你飞! 即使你并非前端开发人员,对前端的开发流程进行一定的了解也是很有必要的,谁也不确定公司以后会不会让我做前端去,做些简单的实例既不需要花费很多时间,也可以提高自己的自信和成就感,所以跟着明哥走,没有错,来吧!

导航

✪  Vue开发实例目录总索引 ◄ 上一篇【10】Link 文字链接 ► 下一篇【12】实现动态左侧菜单导航

一级菜单实现最简单的一级菜单

在之前的Aside.vue中去实现代码,一级菜单其实非常的简单,直接用el-menu 和el-menu-item 就行,Aside.vue代码如下:

<template> <div> <el-menu> <el-menu-item>一级菜单1</el-menu-item> <el-menu-item>一级菜单2</el-menu-item> <el-menu-item>一级菜单3</el-menu-item> </el-menu> </div></template><script> export default { name: "Aside" }</script><style scoped></style>

效果图如下:

设置菜单背景颜色和文字颜色

在el-menu中设置 background-color 和 text-color 属性

<template> <div> <el-menu background-color="#545c64" text-color="#ffffff"> <el-menu-item>一级菜单1</el-menu-item> <el-menu-item>一级菜单2</el-menu-item> <el-menu-item>一级菜单3</el-menu-item> </el-menu> </div></template>

设置选中后菜单文字颜色

设置 active-text-color 属性,但是必须在需要生效的子菜单中设置index属性,否则不生效,先不设置index

<template> <div> <el-menu background-color="#545c64" text-color="#ffffff" active-text-color="#ffd04b"> <el-menu-item>一级菜单1</el-menu-item> <el-menu-item>一级菜单2</el-menu-item> <el-menu-item>一级菜单3</el-menu-item> </el-menu> </div></template>

可以看到我点击以后,菜单文字的颜色没有变化,现在来加入index属性

<template> <div> <el-menu background-color="#545c64" text-color="#ffffff" active-text-color="#ffd04b"> <el-menu-item index="1">一级菜单1</el-menu-item> <el-menu-item index="2">一级菜单2</el-menu-item> <el-menu-item index="3">一级菜单3</el-menu-item> </el-menu> </div></template>

上图我们可以看到开始是没有选中菜单的,是可以设置默认的选中菜单的,设置default-active为对应的index值即可,比如我设置默认选中第2个菜单,第2个菜单的index为2,所以我们在el-menu中加入 default-active=“2”

<template> <div> <el-menu background-color="#545c64" text-color="#ffffff" active-text-color="#ffd04b" default-active="2"> <el-menu-item index="1">一级菜单1</el-menu-item> <el-menu-item index="2">一级菜单2</el-menu-item> <el-menu-item index="3">一级菜单3</el-menu-item> </el-menu> </div></template>

刷新页面后,默认选中了第2个菜单

在菜单中加入图标

在菜单中加入图标会使得我们的菜单看起来比较漂亮、舒服,这样涉及到图标的使用,可以参考我前面的文章 :Vue开发实例(08)之Icon图标的使用 用 i 标签即可,在菜单名前面加入 <i class=“el-icon-XXX”>,XXX是图标的名称。

<template> <div> <el-menu background-color="#545c64" text-color="#ffffff" active-text-color="#ffd04b" default-active="2"> <el-menu-item index="1"><i class="el-icon-location"></i>一级菜单1</el-menu-item> <el-menu-item index="2"><i class="el-icon-document"></i>一级菜单2</el-menu-item> <el-menu-item index="3"><i class="el-icon-setting"></i>一级菜单3</el-menu-item> </el-menu> </div></template>

二级菜单实现二级菜单

修改一级菜单1为2级菜单

<template> <div> <el-menu background-color="#545c64" text-color="#ffffff" active-text-color="#ffd04b" default-active="2" > <el-submenu index="1"> <template slot="title"><i class="el-icon-location"></i><span>一级菜单1</span></template> <el-menu-item index="1-1">选项1</el-menu-item> <el-menu-item index="1-2">选项2</el-menu-item> </el-submenu> <el-menu-item index="2"><i class="el-icon-document"></i>一级菜单2</el-menu-item> <el-menu-item index="3"><i class="el-icon-setting"></i>一级菜单3</el-menu-item> </el-menu> </div></template>

Vue开发实例(11)之el-menu实现左侧菜单导航(vue实战开发项目视频)

修改分析【其实很简单】:

将el-menu 修改为 el-submenu按钮名称、图标用 template标签包裹,必须加入 slot="title"属性,否则菜单样式不对。加入新的两个 el-menu-item。三级菜单实现三级菜单

跟二级菜单的修改方式是一样的,就是多加一层

<template> <div> <el-menu background-color="#545c64" text-color="#ffffff" active-text-color="#ffd04b" default-active="2"> <el-submenu index="1"> <template slot="title"><i class="el-icon-location"></i><span>一级菜单1</span></template> <el-submenu index="1-1"> <template slot="title"><i class="el-icon-location"></i><span>选项1</span></template> <el-menu-item index="1-1-1">选项1-1</el-menu-item> <el-menu-item index="1-1-2">选项1-2</el-menu-item> </el-submenu> <el-submenu index="1-2"> <template slot="title"><i class="el-icon-location"></i><span>选项2</span></template> <el-menu-item index="1-2-1">选项2-1</el-menu-item> <el-menu-item index="1-2-2">选项2-2</el-menu-item> </el-submenu> </el-submenu> <el-menu-item index="2"><i class="el-icon-document"></i>一级菜单2</el-menu-item> <el-menu-item index="3"><i class="el-icon-setting"></i>一级菜单3</el-menu-item> </el-menu> </div></template><script> export default { name: "Aside" }</script><style scoped></style>

加入相关事件

打开open、关闭close、选择select 3个事件 在el-menu中加入三个事件属性,并编写对应的method

<template> <div> <el-menu background-color="#545c64" text-color="#ffffff" active-text-color="#ffd04b" default-active="2" @open="handleOpen" @close="handleClose" @select="handSelect"> <el-submenu index="1"> <template slot="title"><i class="el-icon-location"></i><span>一级菜单1</span></template> <el-submenu index="1-1"> <template slot="title"><i class="el-icon-location"></i><span>选项1</span></template> <el-menu-item index="1-1-1">选项1-1</el-menu-item> <el-menu-item index="1-1-2">选项1-2</el-menu-item> </el-submenu> <el-submenu index="1-2"> <template slot="title"><i class="el-icon-location"></i><span>选项2</span></template> <el-menu-item index="1-2-1">选项2-1</el-menu-item> <el-menu-item index="1-2-2">选项2-2</el-menu-item> </el-submenu> </el-submenu> <el-menu-item index="2"><i class="el-icon-document"></i>一级菜单2</el-menu-item> <el-menu-item index="3"><i class="el-icon-setting"></i>一级菜单3</el-menu-item> </el-menu> </div></template><script> export default { name: "Aside", methods: { handleOpen(key, keyPath) { console.log("打开:",key, keyPath); }, handleClose(key, keyPath) { console.log("关闭:",key, keyPath); }, handSelect(key, keyPath) { console.log("选择:",key, keyPath); } } }</script><style scoped></style>

实现点击菜单跳转

当点击菜单项,能够在右边的Main窗口中显示对应的页面。

创建3个页面 Main1.vue Main2.vue Main2.vue<template> <div> 这是Main1 </div></template><script> export default { name: "Main1" }</script><style scoped></style><template> <div> 这是Main2 </div></template><script> export default { name: "Main2" }</script><style scoped></style><template> <div> 这是Main3 </div></template><script> export default { name: "Main3" }</script><style scoped></style>配置路由在src下创建 router.js创建了主路由index,就是进入的主页面这3个index子路由,用来跳转,分别对应 main1 main2 main3 几个页面。子路由的跳转位置为,index的Main位置,因为我们管理系统只需要Main位置发生改变,头部、左边导航、下方footer是不需要改变的。

router.js如下:

import VueRouter from "vue-router"import Index from "./components/Index";const routes = [ //一级路由 { path: '/index', name: 'index', component: Index, //路由嵌套 children:[ {path: '/index/menu1',component: () => import('./components/Main1.vue')}, {path: '/index/menu2',component: () => import('./components/Main2.vue')}, {path: '/index/menu3',component: () => import('./components/Main3.vue')} ] }]const router = new VueRouter({ mode:'history', routes})export default router;

在main.js中配置这个路由,让路由生效 在原来的Index.vue页面,设置路由跳转位置,这里我们在原来的Main位置修改位 router-view即可。

菜单中加入路由配置

这里我们使用一级菜单,简单方便,修改Aside.vue的代码。 在el-menu里面加入 router属性 在el-menu-item 的index,设置对应的子路由

<template> <div style="height: 100%;"> <el-menu background-color="#545c64" text-color="#ffffff" active-text-color="#ffd04b" class="el-menu-vertical-demo" router> <el-menu-item index="/index/menu1"><i class="el-icon-location"></i>一级菜单1</el-menu-item> <el-menu-item index="/index/menu2"><i class="el-icon-document"></i>一级菜单2</el-menu-item> <el-menu-item index="/index/menu3"><i class="el-icon-setting"></i>一级菜单3</el-menu-item> </el-menu> </div></template><script> export default { name: "Aside" }</script><style scoped> .el-menu-vertical-demo{ height: 100%; }</style>

我们进入index主路由 点击左侧导航菜单

处理默认的Main窗口为空的情况

刚进入index路由的时候,我们看到main窗口里面是没有东西的

这样显然不好看,于是我们可以设置默认的跳转位置,设置如下:

在子路由中添加一个新的路由,用来默认跳转在主路由中配置redirect 值为这个子路由

上方其实就是一个重定向的操作,当直接输入index路由时就会默认跳转到Main路由里面,这样就会有个默认的页面了。

下方我们在地址栏只输入到index,敲回车后,会在后面默认加上 “/Main”,直接重定向了,同时Main窗口的页面也显示了我们指定的页面。

小结

这节总结了“el-menu实现左侧菜单导航”,希望能对大家有所帮助,请各位小伙伴帮忙 【点赞】+【收藏】+ 【评论区打卡】, 如果有兴趣跟小明哥一起学习Java的,【关注一波】不迷路哦。 请到文章下方帮忙【一键三连】谢谢哈!

导航

✪  Vue开发实例目录总索引 ◄ 上一篇【10】Link 文字链接 ► 下一篇【12】实现动态左侧菜单导航

热门专栏推荐

【1】Java小游戏(俄罗斯方块、植物大战僵尸等) 【2】JavaWeb项目实战(图书管理、宿舍管理等) 【3】JavaScript精彩实例(飞机大战、验证码等) 【4】Java小白入门200例 【5】从零学Java、趣学Java 【6】IDEA从零到精通

本文链接地址:https://www.jiuchutong.com/zhishi/295316.html 转载请保留说明!

上一篇:Vue项目实战——【基于 Vue3.x + Vant UI】实现一个多功能记账本(开发导航栏及公共部分)(vuecli项目实战)

下一篇:VSCode中Prettier插件&依赖安装及冲突解决(vscode插件vuter)

  • 团购活动策划方案分享(团购活动策划的六大要素)

    团购活动策划方案分享(团购活动策划的六大要素)

  • 苹果13怎么自定义来电铃声(苹果13怎么自定义充电提示音)

    苹果13怎么自定义来电铃声(苹果13怎么自定义充电提示音)

  • 电脑怎么下载东西到桌面(电脑怎么下载东奥会计云课堂)

    电脑怎么下载东西到桌面(电脑怎么下载东奥会计云课堂)

  • 3600x超频用什么散热(3600x超频能提升多少帧)

    3600x超频用什么散热(3600x超频能提升多少帧)

  • oppoa11可以开空调吗(oppo 能不能开空调)

    oppoa11可以开空调吗(oppo 能不能开空调)

  • 华为P30手机怎么截取动漫片段(华为p30手机怎么遥控空调开关)

    华为P30手机怎么截取动漫片段(华为p30手机怎么遥控空调开关)

  • 换屏后手机发热是什么问题(换屏后手机发热会有什么影响)

    换屏后手机发热是什么问题(换屏后手机发热会有什么影响)

  • 知乎提问为什么删不了(知乎提问为什么搜不到)

    知乎提问为什么删不了(知乎提问为什么搜不到)

  • 扫描上传和拍照上传一样吗(照片扫描上传是什么意思)

    扫描上传和拍照上传一样吗(照片扫描上传是什么意思)

  • 笔记本win10改成win7(win10怎么改win7)

    笔记本win10改成win7(win10怎么改win7)

  • 淘宝退款红包的钱退到哪里了(淘宝退款红包的钱是平台出的吗)

    淘宝退款红包的钱退到哪里了(淘宝退款红包的钱是平台出的吗)

  • b站追番列表在哪(b站追番顺序)

    b站追番列表在哪(b站追番顺序)

  • 钉钉投屏码怎么来(钉钉投屏码怎么输入)

    钉钉投屏码怎么来(钉钉投屏码怎么输入)

  • web标准是由什么制定的(web标准包括)

    web标准是由什么制定的(web标准包括)

  • 打印机出现打印不全怎么办(打印机出现打印乱码怎么解决)

    打印机出现打印不全怎么办(打印机出现打印乱码怎么解决)

  • 抖音如何看完整视频(抖音如何看完整评论)

    抖音如何看完整视频(抖音如何看完整评论)

  • 华为畅享10plus充电指示灯在哪里(华为畅享10plus充电器参数)

    华为畅享10plus充电指示灯在哪里(华为畅享10plus充电器参数)

  • 为什么输入抖音号找不到用户(为什么输入抖音账号搜索不到)

    为什么输入抖音号找不到用户(为什么输入抖音账号搜索不到)

  • u盘被水泡了一天还有用吗(u盘泡了水怎么办)

    u盘被水泡了一天还有用吗(u盘泡了水怎么办)

  • 换新手机 微信显示被盗(换新手机微信聊天记录能恢复吗)

    换新手机 微信显示被盗(换新手机微信聊天记录能恢复吗)

  • 快手obs怎么用(如何用obs直播快手)

    快手obs怎么用(如何用obs直播快手)

  • ppt里的音乐怎么导出来(ppt里的音乐怎么循环播放)

    ppt里的音乐怎么导出来(ppt里的音乐怎么循环播放)

  • 苹果手机接听方式更改(苹果手机接听方式怎么设置)

    苹果手机接听方式更改(苹果手机接听方式怎么设置)

  • 网易云音乐为什么打不开(网易云音乐为什么会自动播放)

    网易云音乐为什么打不开(网易云音乐为什么会自动播放)

  • 苹果x手机面容识别不了了怎么办(苹果X手机面容id不可用是怎么回事)

    苹果x手机面容识别不了了怎么办(苹果X手机面容id不可用是怎么回事)

  • 后台运行在哪里(手机正在运行的程序在哪里关闭)

    后台运行在哪里(手机正在运行的程序在哪里关闭)

  • Linux中进程管理工具htop的安装与其命令使用教程(linux进程操作命令)

    Linux中进程管理工具htop的安装与其命令使用教程(linux进程操作命令)

  • win11 pin码一直转圈怎么办?win11pin码一直转圈的解决教程(win11 pin失效)

    win11 pin码一直转圈怎么办?win11pin码一直转圈的解决教程(win11 pin失效)

  • 企业所得税年报申报时间
  • 科研材料怎么买
  • 子公司利润母公司要交税吗?
  • 个税申报导入上月数据
  • 跨年度退货可以开红字发票吗
  • 汽车开公司发票可以抵税吗?
  • 物业费专用发票税率
  • 装饰公司开票内容怎么填
  • 上市公司存货跌价准备怎么看
  • 多交的季度所得税怎么算
  • 房产公司办公室布局
  • 人力资源外包公司排名
  • 折扣折让的销售方式有哪些
  • 个人非货币性资产出资 个人所得税
  • 航天信息开票步骤
  • 稿酬所得个人所得税计算方法
  • 增值税主要有三种类型
  • 已经提完折旧的固定资产报废
  • 成品油发票长什么样
  • 销售返利是冲减收入还是做销售费用
  • 研发样机转销售合法吗
  • 增值税专用发票校验码是哪个位置
  • 已抵扣原材料进项税额转出完整分录
  • 公司组织的团建受伤算工伤吗
  • 实收资本或股本的账务处理
  • 进项税额转出如何做账分录
  • win10自动关机方法
  • 采用销售百分比法预测对外
  • window10自带商店下载位置
  • 小微企业所得税怎么算
  • object转map工具类
  • 系统win7旗舰版
  • chat gpt介绍开头
  • chattr
  • 使用灭火器人要站在上风口还是下风口
  • arcore如何使用
  • vue获取设备id
  • 卸载的应用怎么找回来
  • php获取文件内容的方法
  • 个税在工资里怎么计提
  • 期末结转会计分录模板
  • 保障金计入什么科目
  • 转让全部探明矿权合法吗
  • 上年度会计凭证怎么填写
  • python有什么用
  • distinct用法及搭配
  • 发票报送日志不完整
  • 专利年费可以做研发费用吗
  • 跨地区经营增值税如何缴纳
  • 股东收到投资收益会计科目
  • 交通运输服务包括程租
  • 长期股权投资被投资方实现净利润
  • 预缴增值税销售额是含税还是不含税的开票金额
  • 代开专票作废了扣了两次税怎么办?
  • 预付加油款收到发票怎么处理
  • 发票 抬头个人
  • 等额年金终值系数与偿债资金系数互为倒数
  • 残保金是否为强制缴纳
  • windows8.1大小
  • Vista 目前的窘境5大原因分析
  • thinkpad x230笔记本电脑
  • windows电脑设置
  • 苹果电脑win10系统打不开
  • windows2008
  • macbookair登陆
  • 怎么设置虚拟硬盘储存路径
  • macbook截
  • win8的运行在哪里打开
  • Win7系统打印机共享无法保存打印机设置0x000006d9
  • javascript到c
  • window.navigate 与 window.location.href 的使用区别介绍
  • 关于学习的名言
  • node 调用c
  • JavaScript中的对象一般分为
  • linux bash命令详解
  • 安装下载应用
  • 手机糖果游戏娱乐
  • js中ajax完整例子
  • android滚动布局
  • 设计合同需要备案吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设