vue iview的菜单组件Mune 点击不高亮的解决方案


Posted in Javascript onNovember 01, 2019

前言: 在项目中,我用到了vue +iview + vue-router 开发; 然后导航条就使用了iview的Menu组件,结果发觉导航条的内容点击一次之后不会显示高亮样式,而是先跳转了,我再点击一次,才会高亮显示。

在看了vue-router的文档之后,发觉有一个很好用的东西,就是router-link的属性: active-class 和 exact。

为什么要使用router-link? 官网上说明了这几点好处:

组件支持用户在具有路由功能的应用中(点击)导航。 通过 to 属性指定目标地址,默认渲染成带有正确链接的 a 标签,可以通过配置 tag 属性生成别的标签.。另外,当目标路由成功激活时,链接元素自动设置一个表示激活的 CSS 类名。

比起写死的 <a href="..." rel="external nofollow" > 会好一些,理由如下:

无论是 HTML5 history 模式还是 hash 模式,它的表现行为一致,所以,当你要切换路由模式,或者在 IE9 降级使用 hash 模式,无须作任何变动。

在 HTML5 history 模式下,router-link 会守卫点击事件,让浏览器不再重新加载页面。

当你在 HTML5 history 模式下使用 base 选项之后,所有的 to 属性都不需要写(基路径)了。

首先, active-class可以指定一个高亮时的样式, 比如我定义一个白色粗体的样式:

color: #fff;
  font-weight: bold;
  }

然后,就是exact,文档介绍是这样的

exact

类型: boolean

默认值: false

“是否激活” 默认类名的依据是 inclusive match (全包含匹配)。 举个例子,如果当前的路径是 /a 开头的,那么 也会被设置 CSS 类名。

按照这个规则,每个路由都会激活!想要链接使用 “exact 匹配模式”,则使用 exact 属性:

<!-- 这个链接只会在地址为 / 的时候被激活 --> <router-link to="/" exact>

在考虑到Menu组件的默认css可能会影响我的导航栏,所以我果断不用Menu组件,然后使用ul标签;最后,我的代码长这样:

<ul> 
<li> 
<router-link to="/" active-class="active" > 首页</roouter-link> 
</li> 
</ul>

然后,官网上还可以这样玩:

“` 
<router-link to="/" active-class="active" tag="li" ><a>首页</a></roouter-link>

 </ul>
```

以上这篇vue iview的菜单组件Mune 点击不高亮的解决方案就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Javascript !!的作用
Dec 04 Javascript
JavaScript 封装Ajax传递的数据代码
Jun 05 Javascript
JQuery Tips(4) 一些关于提高JQuery性能的Tips
Dec 19 Javascript
function foo的原型与prototype属性解惑
Nov 19 Javascript
jquery each()源代码
Feb 14 Javascript
jQuery实现带有洗牌效果的动画分页实例
Aug 31 Javascript
JS JSOP跨域请求实例详解
Jul 04 Javascript
jQuery使用siblings获取某元素所有同辈(兄弟姐妹)元素用法示例
Jan 30 Javascript
ajax与jsonp的区别及用法
Oct 16 Javascript
js回文数的4种判断方法示例
Jun 04 Javascript
vue实现将数据存入vuex中以及从vuex中取出数据
Nov 08 Javascript
浅谈webpack构建工具配置和常用插件总结
May 11 Javascript
解决vue项目刷新后,导航菜单高亮显示的位置不对问题
Nov 01 #Javascript
vue实现点击追加选中样式效果
Nov 01 #Javascript
vue 导航内容设置选中状态样式的例子
Nov 01 #Javascript
解决vue-router 二级导航默认选中某一选项的问题
Nov 01 #Javascript
微信js-sdk 录音功能的示例代码
Nov 01 #Javascript
使用 Angular RouteReuseStrategy 缓存(路由)组件的实例代码
Nov 01 #Javascript
vue实现计步器功能
Nov 01 #Javascript
You might like
Ajax+PHP边学边练 之五 图片处理
2009/12/03 PHP
PHP页面间参数传递的四种方法详解
2013/06/09 PHP
详解PHP中cookie和session的区别及cookie和session用法小结
2016/06/12 PHP
微信开发之php表单微信中自动提交两次问题解决办法
2017/01/08 PHP
ThinkPHP实现静态缓存和动态缓存示例代码
2017/05/02 PHP
$()JS小技巧
2007/07/21 Javascript
JS 自动安装exe程序
2008/11/30 Javascript
JavaScript统计字符串中每个字符出现次数完整实例
2016/01/28 Javascript
JavaScript 中的 this 简单规则
2017/09/19 Javascript
判断jQuery是否加载完成,没完成继续判断的解决方法
2017/12/06 jQuery
基于模板引擎Jade的应用(详解)
2017/12/12 Javascript
微信小程序页面生命周期详解
2018/01/31 Javascript
Vue项目webpack打包部署到Tomcat刷新报404错误问题的解决方案
2018/05/15 Javascript
js实现的格式化数字和金额功能简单示例
2019/07/30 Javascript
用Angular实现一个扫雷的游戏示例
2020/05/15 Javascript
JS事件循环机制event loop宏任务微任务原理解析
2020/08/04 Javascript
Python加pyGame实现的简单拼图游戏实例
2015/05/15 Python
python比较两个列表大小的方法
2015/07/11 Python
python爬取m3u8连接的视频
2018/02/28 Python
python逐行读写txt文件的实例讲解
2018/04/03 Python
python实现自动获取IP并发送到邮箱
2018/12/26 Python
Python变量类型知识点总结
2019/02/18 Python
学python需要去培训机构吗
2020/07/01 Python
浅析Python 抽象工厂模式的优缺点
2020/07/13 Python
python实现企业微信定时发送文本消息的示例代码
2020/11/24 Python
css3动画 小球滚动 js控制动画暂停
2019/11/29 HTML / CSS
WWE美国职业摔角官方商店:WWE Shop
2018/11/15 全球购物
励志演讲稿600字
2014/08/21 职场文书
委托证明模板
2014/09/16 职场文书
我的职业生涯规划:打造自己的运动帝国
2014/09/18 职场文书
北京离婚协议书范文2014
2014/09/29 职场文书
离婚起诉状范本
2015/05/19 职场文书
教师听课学习心得体会
2016/01/15 职场文书
九不准学习心得体会
2016/01/23 职场文书
2019幼儿教师求职信(3篇)
2019/09/20 职场文书
HTML页面中使两个div并排显示的实现
2022/05/15 HTML / CSS