切換路由時更換成當前路由圖標
时间:2021-09-06
本文章向大家介绍切換路由時更換成當前路由圖標,主要包括切換路由時更換成當前路由圖標使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
<template>
<div class="sidebar">
<el-menu
class="sidebar-el-menu"
:default-active="onRoutes"
:collapse="collapse"
background-color="white"
text-color="#A0A0A0"
active-text-color="#32b16c"
unique-opened
router
>
<!-- system -->
<div class="logo">
<img src="../assets/images/logo.png" alt="logo" />
</div>
<div class="user">
<div><img src="../assets/images/user.png" alt="user" /></div>
</div>
<template v-for="item in items">
<template v-if="!item.route_only">
<el-menu-item :index="item.index" :key="item.index">
<img :class="'hide_' + item.index" :src="item.icon" alt="icon" />
<img
:class="'show_' + item.index"
:src="item.icon_hover"
alt="icon"
style="display: none"
/>
<span slot="title">{{ item.title }}</span>
</el-menu-item>
</template>
</template>
<!-- system -->
<div class="system">
<el-menu-item index="logout">
<i class="el-icon-switch-button"></i>
<span slot="title">退出登录</span>
</el-menu-item>
</div>
</el-menu>
</div>
</template>
<script>
import bus from "../utils/bus";
export default {
data() {
return {
collapse: false,
items: [
{
icon: require("../assets/images/speed.png"),
icon_hover: require("../assets/images/speed_hover.png"),
index: "speedup",
title: "加速",
route_only: false,
},
{
icon: require("../assets/images/vip.png"),
icon_hover: require("../assets/images/vip_hover.png"),
index: "vip",
title: "会员",
route_only: false,
},
{
icon: require("../assets/images/setting.png"),
icon_hover: require("../assets/images/setting_hover.png"),
index: "setting",
title: "设置",
route_only: false,
},
{
icon: require("../assets/images/about.png"),
icon_hover: require("../assets/images/about_hover.png"),
index: "about",
title: "关于",
route_only: false,
},
],
};
},
computed: {
onRoutes() {
var route = this.$route.path.replace("/", "");
setTimeout(() => {
this.items.map((item) => {
if (route === item.index) {
document.querySelector(".hide_" + item.index).style.display =
"none";
document.querySelector(".show_" + item.index).style.display =
"block";
} else {
document.querySelector(".hide_" + item.index).style.display =
"block";
document.querySelector(".show_" + item.index).style.display =
"none";
}
});
}, 0);
return route;
},
}
};
</script>
<style lang="less" scoped>
.el-menu {
/deep/ .el-menu-item {
border-radius: 7px;
margin: 0 4px;
text-align: center;
display: flex;
align-items: center;
justify-content: center;
height: 46px;
margin: 16px 4px;
span {
margin-left: 7px;
font-weight: bolder;
}
}
/deep/ .el-menu-item:hover {
background: #32b16c26 !important;
color: #32b16c !important;
img:nth-child(1) {
display: none !important;
}
img:nth-child(2) {
display: block !important;
}
}
}
.logo {
font-size: 17px;
font-weight: bolder;
height: 68px;
display: flex;
justify-content: center;
align-items: center;
img {
margin-right: 8px;
}
}
.user {
display: flex;
justify-content: center;
> div {
display: flex;
justify-content: center;
align-items: center;
width: 40px;
height: 40px;
border-radius: 50%;
background: #f4f4f4;
img {
}
}
}
.sidebar {
display: block;
position: absolute;
left: 0;
top: 0px;
bottom: 0;
overflow-y: scroll;
border-radius: 10px;
box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
}
.sidebar::-webkit-scrollbar {
width: 0;
}
.sidebar-el-menu:not(.el-menu--collapse) {
width: 160px;
border-right: none;
}
.sidebar > ul {
height: 100%;
border-color: #191b1e;
}
.system {
width: 100%;
position: absolute;
bottom: 0;
}
</style>
原文地址:https://www.cnblogs.com/lbx6935/p/15234932.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- linux系统安装msf的过程详解
- Linux删除系统自带版本Python过程详解
- Linux时间子系统之时间的表示示例详解
- 如何在Linux中修改tomcat端口号
- centos7修改系统语言为简体中文的实现
- Linux 通过Rsync+Inotify实现本、异地远程数据实时同步功能
- linux实现猜数字小游戏源码
- linux编译kernel和svn版本冲突的解决办法
- 在 Ubuntu Linux 上安装 Oracle Java 14的方法
- 在 Linux 系统中手动滚动日志的方法
- Linux进程管理工具supervisor安装配置教程
- Linux执行可执行文件提示No such file or directory的解决方法
- 详解bash中的脚本调试机制
- 在 Linux 上查看和配置密码时效的方法
- CentOS7中使用shell脚本安装python3.8环境(推荐)