vuejs导航条动态切换active状态
- 用一个数组存导航条,用v-for循环它,这样可以减少代码,二可以使用它的下标来判断高亮,三还可以获取后端的导航信息来遍历
- 重点是在:routerLink(index, path)函数,传入当前点击的下标,自定义一个下标,判断是否相等就用三元符号判断多给一个高亮样式
- 如何解决刷新就不高亮或第一个高亮了,很简单,监听一下当前路由在判断就好了
具体代码都在下面了
效果图:

html代码:
<ul>
<!-- 导航列表 -->
<li class="nav-item"
v-for="(item, index) in nav"
@click="routerLink(index, item.path)"
:key="index">
<!-- 判断高亮表 -->
<p :class=" navIndex === index ? 'active' : ''">
{{ item.title }}
</p>
</li>
</ul>
data数据:
data(){
return{
nav:[
{title:'首页',path:'/'},
{title:'产品服务',path:'/Product'},
{title:'关于我们',path:'/About_us'}
],
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);
}
},
active样式
.active{color:#345AFA;}
vuejs导航条动态切换active状态的更多相关文章
- AngularJS 导航栏动态添加.active
在传统jQuery中,实现导航栏动态添加.active类的思路比较简单,就是当点击的时候,清除其他.active,然后给当前类加上.active. 但是在AngularJS中,就不能再采用这种jQue ...
- CSS实现导航条Tab切换的三种方法
前面的话 导航条Tab在页面中非常常见,本文说详细介绍CSS实现导航条Tab的三种方法 布局 根据上图所示,先规定几个定义,上图的模块整体叫做导航,由导航标题和导航内容组成.要实现上图所示的布 ...
- jQuery关于导航条背景切换
效果如下: <DOCTYPE html> <html> <head> <script src="http://code.jquery.com/jqu ...
- vuejs切换导航条高亮路由高亮做法
我的GitHub前端经验总结,喜欢的话请点star✨✨Thanks.:https://github.com/liangfengbo/frontend-develop vuejs导航条高亮我的做法: 用 ...
- Qt-QML-给我的导航条写一个动画-State-Transition
上篇中,我已经写出一个导航条的,虽然太丑了,不过功能是有了,这次我将要给我的导航条加一个动画,先看下演示效果 这次我是用的是一个状态动画,大致原理就是写出一个空间的几个状态,完了再加一个过度动画,这里 ...
- vue Element-ui el-menu 左侧导航条
<template> <!--实现左侧导航条动态渲染(三级)--> <el-menu class="el-menu-vertical-demo" @o ...
- Swift - 使用导航条和导航条控制器来进行页面切换
通过使用导航条(UINavigationBar)与导航条控制器(UINavigationController)可以方便的在主页面和多层子页面之间切换.下面通过一个简单“组件效果演示”的小例子来说明如何 ...
- bootstrap学习笔记之为导航条添加标题、二级菜单及状态 http://www.imooc.com/code/3120
为导航条添加标题.二级菜单及状态 加入导航条标题 在Web页面制作中,常常在菜单前面都会有一个标题(文字字号比其它文字稍大一些),其实在Bootstrap框架也为大家做了这方面考虑,其通过" ...
- 如何在导航条的button点击变换时,切换对应的控制器
1.导航条内的button被点击 切换对应的控制器 让控制器作为调航条的代理 1.定义代理 2.遵循代理协议 3.实现代理 4.在合适的地方调用代理 当按钮被点击的时候切换控制器
随机推荐
- macaca自动化测试以及配置环境问题
macaca 测试和环境问题 标签(空格分隔): macaca自动化配置环境问题 macaca环境变量配置 基本环境需要准备的东西: JDK的安装及环境配置:(1.8) Node.js的安装及环境配置 ...
- JAVA声明一个对象数组
Student stu[]=new Student[N]; Student stu={new Student(),~~~}; JAVA类型转换 String转为float String转为INT
- kafka集群压力测试--基础。
1.生产者测试 kafka-producer-perf-test.bat --num-records 1000000 --topic test --record-size 200 --throughp ...
- (mysql数据库报错)The user specified as a definer ('root'@'%') does not exist
权限问题,授权 给 root 所有sql 权限 解决办法: (1)登录MYSQL 以管理员身份运行cmd >mysql -u root -p >密码 (2)更改权限 ...
- nodemcu生成LUA版本固件
构建自己的固件地址 https://nodemcu-build.com/
- TZOJ 3663 最长路径(floyd)
描述 网络是由很多交换机与网线组成的,网络中的信息可能会在这些网络中不断转发,给定任意两个交换机,我们需要从中找到最快的路径进行转发,我们定义转发过程中所经过的网线条数为两个交换机之间的路径长度.如果 ...
- crm作业知识点集合[二]
知识点1 前面我们实现了这个功能,就是在models中如果有了choice选项,我们可以实现在页面显示这个chocice的value值,而不是key值,我们这个知识点就是在优化一下这个点 首先如果表中 ...
- javaweb导出excel
百度找了半天也没找到一个提供有效思路的,全都告诉我此路不通 html表格数据粘贴到txt,然后改后缀为xsl,打开,发现二者无缝对接 @参考文章.@参考前任项目 /** * @todo * @para ...
- tcp中的keepalive(转)
理解Keepalive(1) 大家都听过keepalive,但是其实对于keepalive这个词还是很晦涩的,至少我一直都只知道一个大概,直到之前排查线上一些问题,发现keepalive还是有很多玄机 ...
- 设置Tomcat的JAVA_OPTS参数
修改$TOMCAT_HOME/bin/catalina.bat 添加set JAVA_OPTS= ... rem ----- Execute The Requested Command ------- ...