Vue 菜单栏点击切换单个class(高亮)的方法


Posted in Javascript onAugust 22, 2018

步骤:

遍历对象(goods)获取菜单栏每一项的对象(item)和下标(index)

添加点击事件toggle(),传入下标参数:@click="fn1();fn2()"

动态切换classname::class="{'active':index ==checkindex }"> (class赋予对应下标值的DOM)

ps:该方法直接切换class,不需要手动添加清除其他非动态DOM的class

html

<ul>
   <li v-for="(item,index) in goods" class="menu-item" @click="toggle(index);scrollToFoods(index)"
   :class="{'active':index ==checkindex }">
   </li>
  </ul>

script

export default {
 data () {
  return {
  checkindex: 0 // 初始化第一个栏块高亮
  }
 },
 methods: {
  toggle (index) {
  this.checkindex = index
  }

css

.active {
 background: white;
 }

效果图展示:

Vue 菜单栏点击切换单个class(高亮)的方法

Vue 菜单栏点击切换单个class(高亮)的方法

拓展知识:浅谈element-ui下导航高亮犯过的错

同事搭建的vue+elementui项目出了个bug,elementui导航高亮一直出错。调试了3个多小时,来问我,结果悲剧地加班了。

最后实在不耐烦了,导航这块放弃使用elementui组件,直接自己来写了。今天有空,实在不服气,自己写了一个。结果直接就过了。

贴上代码:

<template>
 <el-menu
 :default-active="$route.path"
 background-color="#383838"
 text-color="#ccc"
 active-text-color="#fff000" router>
 <el-menu-item index="/dashboard">
  <span slot="title">总览</span>
 </el-menu-item>
 <el-submenu index="2">
  <template slot="title">导航1</template>
  <el-menu-item index="/nav1/index">导航11</el-menu-item>
  <el-submenu index="2-2">
  <template slot="title">导航12</template>
  <el-menu-item index="/nav2/nav1">导航121</el-menu-item>
  <el-menu-item index="/nav2/nav2">导航122</el-menu-item>
  </el-submenu>
 </el-submenu>
 </el-menu>
</template>

后来对比了下细节,发现自己是被同事带坑了:总结当时犯的错误(纠结的地方)

:default-active="$route.path"

这里定义当前高亮。举例:当前页面是总览,通过打印,得知$route.path的值是 '/dashboard' 而不是 'dashboard'。前者是$route.path,后者是$route.name。后续会用到。

router>

这里没什么好说的,直接router就行了。

<el-menu-item index="/dashboard">

这里就要根据前面的$route.path/$route.name来输入值了。保证这三点基本无误导航高亮基本就没问题了。

至于其他花式写法后面会继续研究。

以上这篇Vue 菜单栏点击切换单个class(高亮)的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
HTML5附件拖拽上传drop &amp; google.gears实现代码
Apr 28 Javascript
JQUERY对单选框(radio)操作的小例子
Apr 25 Javascript
基于pthread_create,readlink,getpid等函数的学习与总结
Jul 17 Javascript
avascript中的自执行匿名函数应用示例
Sep 15 Javascript
简单的js计算器实现
Oct 26 Javascript
浅析Jquery操作select
Dec 13 Javascript
JavaScript实现按键精灵的原理分析
Feb 21 Javascript
深入理解react-router@4.0 使用和源码解析
May 23 Javascript
JavaScript 有用的代码片段和 trick
Feb 22 Javascript
Vue2.0生命周期的理解
Aug 20 Javascript
js实现动态添加上传文件页面
Oct 22 Javascript
js事件机制----捕获与冒泡机制实例分析
May 22 Javascript
Vue.js点击切换按钮改变内容的实例讲解
Aug 22 #Javascript
Vue2.0点击切换类名改变样式的方法
Aug 22 #Javascript
vuejs选中当前样式active的实例
Aug 22 #Javascript
详解如何在webpack中做预渲染降低首屏空白时间
Aug 22 #Javascript
基于vue中对鼠标划过事件的处理方式详解
Aug 22 #Javascript
vue鼠标移入添加class样式,鼠标移出去除样式(active)实现方法
Aug 22 #Javascript
JS封装的模仿qq右下角消息弹窗功能示例
Aug 22 #Javascript
You might like
php split汉字
2009/06/05 PHP
不支持fsockopen但支持culr环境下下ucenter与modoer通讯问题
2011/08/12 PHP
360通用php防护代码(使用操作详解)
2013/06/18 PHP
php二维码生成
2015/10/19 PHP
PHP基于ORM方式操作MySQL数据库实例
2017/06/21 PHP
javascript中全局对象的parseInt()方法使用介绍
2013/12/19 Javascript
讲解JavaScript中for...in语句的使用方法
2015/06/03 Javascript
基于jQuery实现的QQ表情插件
2015/08/25 Javascript
JS实现滑动菜单效果代码(包括Tab,选项卡,横向等效果)
2015/09/24 Javascript
在JS中a标签加入单击事件屏蔽href跳转页面
2016/12/16 Javascript
基于JavaScript实现拖动滑块效果
2017/02/16 Javascript
Vue实现双向数据绑定
2017/05/03 Javascript
swiper移动端轮播插件(触碰图片之后停止轮播)
2017/12/28 Javascript
vue中实现methods一个方法调用另外一个方法
2018/02/08 Javascript
20个最常见的jQuery面试问题及答案
2018/05/23 jQuery
对angularJs中ng-style动态改变样式的实例讲解
2018/09/30 Javascript
浅谈开发eslint规则
2018/10/01 Javascript
JavaScript使用小插件实现倒计时的方法讲解
2019/03/11 Javascript
el-table树形表格表单验证(列表生成序号)
2020/05/31 Javascript
SpringBoot+Vue开发之Login校验规则、实现登录和重置事件
2020/10/19 Javascript
[32:36]完美世界DOTA2联赛PWL S3 LBZS vs CPG 第二场 12.12
2020/12/16 DOTA
Python聚类算法之凝聚层次聚类实例分析
2015/11/20 Python
python模拟鼠标点击和键盘输入的操作
2019/08/04 Python
解决python replace函数替换无效问题
2020/01/18 Python
python等差数列求和公式前 100 项的和实例
2020/02/25 Python
PyTorch-GPU加速实例
2020/06/23 Python
python tqdm实现进度条的示例代码
2020/11/10 Python
佛罗里达州印第安河新鲜水果:Hale Groves
2017/02/20 全球购物
世界首屈一指的在线男士内衣权威:HisRoom
2017/08/05 全球购物
材料采购员岗位职责
2013/12/17 职场文书
家具促销活动方案
2014/02/16 职场文书
表彰大会主持词
2014/03/26 职场文书
人力资源管理求职信
2014/08/07 职场文书
生产现场禁烟通知
2015/04/23 职场文书
2015年企业团支部工作总结
2015/05/21 职场文书
2015年街道办事处团委工作总结
2015/10/14 职场文书