vue+element导航栏高亮显示的解决方式


Posted in Javascript onNovember 12, 2019

用导航菜单时遇到的一些问题:点击打开官网例子

vue+element导航栏高亮显示的解决方式

问题1:

页面强制刷新,按F5时,页面如果没有好好设置的话,导航栏默认叠起来,而且无高亮显示;刷新后导航栏显示和之前不一致,如图所示

vue+element导航栏高亮显示的解决方式

解决:

html关键代码设置 :default-active="defaultUrl"

vue+element导航栏高亮显示的解决方式

这儿的原理就是defaultUrl跟#/后面的一致,也就是说跟router.js中的path一致才行(router.js见后文)

vue+element导航栏高亮显示的解决方式

window.location.href.split('/#')[1] 获取的是"http://localhost:8080/#/search-contact/1"中的"/search-contact/1"

这样设置后,无论如何刷新页面,页面都会高亮显示当前url

问题2:

vue+element导航栏高亮显示的解决方式

点击浏览器前进后退按钮导致高亮显示不同步,

解决问题关键,和问题一原理一样,当路由变化时,改变默认显示高亮的值

//监听路由变化
  watch: {
   '$route':'getPath'
  },
  methods: {
   getPath(){
    this.defaultUrl = this.$route.path;
   }
  },

补充:

以上,div和js文件在设置菜单栏的menu.vue文件下。

router.js里面这样设置

import Vue from 'vue';
import Router from 'vue-router';
 
Vue.use(Router);
 
import Home from './views/home';
 
import SearchProperty from './views/search/search-property';
import SearchListing from './views/search/search-listing';
import SearchContact from './views/search/search-contact';
import SearchSchool from './views/search/search-school';
 
export default new Router({
 routes: [
  {name: 'home', path: '/', component: Home},
  {name: 'search-property', path: '/search-property/:pageNum', component: SearchProperty},
  {name: 'search-contact', path: '/search-contact/:pageNum', component: SearchContact},
  {name: 'search-listing', path: '/search-listing/:pageNum', component: SearchListing},
  {name: 'search-school', path: '/search-school/:pageNum', component: SearchSchool},
 
 ],
});

补充:这是目前发现最简单的一种方法

<el-menu router :default-active="$route.path">
</el-menu>

以上这篇vue+element导航栏高亮显示的解决方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JS性能优化笔记搜索整理
Aug 21 Javascript
Node.js文件操作详解
Aug 16 Javascript
JS实现鼠标点击展开或隐藏表格行的方法
Mar 03 Javascript
去除html代码里面的script正则方法
May 19 Javascript
JS从一组数据中找到指定的单条数据的方法
Jun 02 Javascript
js放到head中失效的原因与解决方法
Mar 07 Javascript
详解JS中的this、apply、call、bind(经典面试题)
Sep 19 Javascript
基于jquery的on和click的区别详解
Jan 15 jQuery
Angular5.0 子组件通过service传递值给父组件的方法
Jul 13 Javascript
Vue.js 中的实用工具方法【推荐】
Jul 04 Javascript
Vuex中实现数据状态查询与更改
Nov 08 Javascript
element-ui封装一个Table模板组件的示例
Jan 04 Javascript
vue-element-admin 菜单标签失效的解决方式
Nov 12 #Javascript
Vue退出登录时清空缓存的实现
Nov 12 #Javascript
解决vue admin element noCache设置无效的问题
Nov 12 #Javascript
Vue2.0 实现页面缓存和不缓存的方式
Nov 12 #Javascript
Vue页面切换和a链接的本质区别详解
Nov 12 #Javascript
vue 中几种传值方法(3种)
Nov 12 #Javascript
Vue 中 a标签上href无法跳转的解决方式
Nov 12 #Javascript
You might like
php获取bing每日壁纸示例分享
2014/02/25 PHP
highchart数据源纵轴json内的值必须是int(详解)
2017/02/20 PHP
PHP基于迭代实现文件夹复制、删除、查看大小等操作的方法
2017/08/11 PHP
PHP读取并输出XML文件数据的简单实现方法
2017/12/22 PHP
Javascript中的数学函数集合
2007/05/08 Javascript
asp(javascript)全角半角转换代码 dbc2sbc
2009/08/06 Javascript
在模板页面的js使用办法
2010/04/01 Javascript
Enter转换为Tab的小例子(兼容IE,Firefox)
2013/11/14 Javascript
jQuery学习之prop和attr的区别示例介绍
2013/11/15 Javascript
jquery轮播的实现方式 附完整实例
2016/07/28 Javascript
AngularJS操作键值对象类似java的hashmap(填坑小结)
2016/11/12 Javascript
详解nodejs 文本操作模块-fs模块(三)
2016/12/22 NodeJs
全面解析vue中的数据双向绑定
2017/05/10 Javascript
Angular6 正则表达式允许输入部分中文字符
2018/09/10 Javascript
vue 实现边输入边搜索功能的实例讲解
2018/09/16 Javascript
p5.js实现动态图形临摹
2019/10/23 Javascript
Vue中key的作用示例代码详解
2020/06/10 Javascript
原生js实现自定义难度的扫雷游戏
2021/01/22 Javascript
[01:39:42]Fnatic vs Mineski 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
[46:21]Liquid vs LGD 2018国际邀请赛淘汰赛BO3 第一场 8.23
2018/08/24 DOTA
Python的Flask框架中使用Flask-Migrate扩展迁移数据库的教程
2016/06/14 Python
Windows环境下python环境安装使用图文教程
2018/03/13 Python
使用python3调用wxpy模块监控linux日志并定时发送消息给群组或好友
2019/06/05 Python
使用celery执行Django串行异步任务的方法步骤
2019/06/06 Python
Python pandas RFM模型应用实例详解
2019/11/20 Python
python虚拟环境模块venv使用及示例
2020/03/04 Python
Python中免验证跳转到内容页的实例代码
2020/10/23 Python
Camille Jewelry官网:现代女性时尚首饰
2019/07/07 全球购物
Zooplus罗马尼亚:宠物食品和配件
2019/11/02 全球购物
一个大学生十年的职业规划
2014/01/17 职场文书
毕业生写求职信的要点
2014/03/04 职场文书
初中优秀教师事迹材料
2014/08/18 职场文书
团员个人总结
2015/02/26 职场文书
2015年教师业务工作总结
2015/05/26 职场文书
关于空气污染危害的感想
2015/08/11 职场文书
Java 多态分析
2022/04/26 Java/Android