这篇文章主要为大家详细介绍了vuejs 切换导航条高亮(路由菜单高亮)的方法示例,具有一定的参考价值,可以用来参考一下。
感兴趣的小伙伴,下面一起跟随四海网的小编两巴掌来看看吧!
我的GitHub前端经验总结,喜欢的话请点star:Thanks.: https://github.com/liangfengbo/frontend-develop
具体代码都在下面了
效果图:
【图片暂缺】
html代码
代码如下:
<div class="nav-box">
<!-- 导航列表 -->
<li class="nav-item"
v-for="(item, index) in nav"
@click="routerLink(index, item.path)"
:key="index">
<!-- 判断高亮表 -->
<p :class=" navIndex === index ? 'item-cn item-cn-active' : 'item-cn'">
{{ item.title }}
</p>
<!-- 判断高亮表 -->
<p :class="navIndex === index ? 'item-en item-en-active' : 'item-en'">
{{ item.en }}
</p>
</li>
</div>
data数据
代码如下:
// 导航条
data() {
return {
nav: [
{title: '首页', en: 'Code', path: '/'},
{title: '开源', en: 'Source', path: '/source'},
{title: '关于', en: 'About', path: '/about'},
],
navIndex: 0,
}
},
methods方法:
代码如下:
/**
* 路由跳转
* @param index
* @param link
*/
routerLink(index, path) {
// 点击哪个路由就赋值给自定义的下下标
this.navIndex = index;
// 路由跳转
this.$router.push(path)
},
/**
* 检索当前路径
* @param path
*/
checkRouterLocal(path) {
// 查找当前路由下标高亮
this.navIndex = this.nav.findIndex(item => item.path === path);
}
监听路由变化获取当前路由
代码如下:
watch: {
"$route"() {
// 获取当前路径
let path = this.$route.path;
// 检索当前路径
this.checkRouterLocal(path);
}
},
css样式
代码如下:
.nav-box {
display: flex;
}
.nav-item {
text-align: center;
padding: 0 32px;
position: relative;
display: inline-block;
font-size: 14px;
line-height: 25px;
}
/*导航普通状态*/
.item-cn {
color: #1c2438;
font-weight: 800;
}
/*导航普通状态*/
.item-en {
color: #666;
font-size: 12px;
}
/*导航高亮*/
.item-cn-active {
color: #2d8cf0;
}
/*导航高亮*/
.item-en-active {
color: #5cadff;
}
.nav-item:hover .item-cn {
color: #2d8cf0;
}
.nav-item:hover .item-en {
color: #5cadff;
}
.nav-item:after {
position: absolute;
right: 0;
top: 20px;
content: '';
width: 1px;
height: 16px;
background-color: #f8f8f8;
}
.nav-item:after:last-child {
width: 0;
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持四海网。
本文来自:http://www.q1010.com/184/5488-0.html
注:关于vuejs 切换导航条高亮(路由菜单高亮)的方法示例的内容就先介绍到这里,更多相关文章的可以留意四海网的其他信息。
关键词:vue.js
四海网收集整理一些常用的php代码,JS代码,数据库mysql等技术文章。