vue iview 导航高亮动态设置方式

 更新时间:2022年05月23日 10:46:32   作者:小洋鬼666  
这篇文章主要介绍了vue iview 导航高亮动态设置方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

vue iview导航高亮动态设置

在这里插入图片描述

在开发的是时候,路由发生了跳转但是发现导航的没有进行高亮设置,在iview的menu组件中控制高亮的是active-name,现在动态设置active-name 完成高亮

<Menu :active-name="activeName" theme="light" width="auto" :open-names="['2','3','4']">
		
	<Submenu name="2">
		<template slot="title">
			<Icon type="ios-navigate"></Icon>
			信息查询
		</template>
		<MenuItem name="travel/" to="travel">信息查询</MenuItem>
	</Submenu>
	<Submenu name="3" v-if="is_super">
		<template slot="title">
			<Icon type="ios-keypad"></Icon>
			信息管理
		</template>
		<MenuItem name="TravelManage" to='TravelManage'>信息管理</MenuItem>
	</Submenu>
	<Submenu name="4">
		<template slot="title">
			<Icon type="ios-contact"></Icon>
			个人信息
		</template>
		<MenuItem name="UserInform" to='UserInform'>个人资料</MenuItem>
	
	</Submenu>
</Menu>
export default {
	name: '',
	data() {
		return {
			activeName: this.$router.path,
		}
	},
	methods:{
		 menuList(){  // 这个方法里定义好,高亮和路由
			let path = this.$route.matched[1].path  
			this.activeName=path.substr(1)
        }
	},	
	
	mounted() {
		this.menuList()
	}
}

vue element导航栏高亮显示问题

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

问题1

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

解决:

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

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

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

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

问题2

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

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

    //监听路由变化
    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 中实现循环渲染多个相同echarts图表

    在Vue 中实现循环渲染多个相同echarts图表

    这篇文章主要介绍了在Vue 中实现循环渲染多个相同echarts图表,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07
  • vue19 组建 Vue.extend component、组件模版、动态组件 的实例代码

    vue19 组建 Vue.extend component、组件模版、动态组件 的实例代码

    这篇文章主要介绍了vue19 组建 Vue.extend component、组件模版、动态组件 的实例代码,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-04-04
  • Vue如何实现table表格置顶

    Vue如何实现table表格置顶

    这篇文章主要介绍了Vue如何实现table表格置顶,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-04-04
  • Vue 2.0的数据依赖实现原理代码简析

    Vue 2.0的数据依赖实现原理代码简析

    本篇文章主要介绍了Vue 2.0的数据依赖实现原理代码简析,主要从初始化的数据层面上分析了Vue是如何管理依赖来到达数据的动态响应,有兴趣的可以了解一下
    2017-07-07
  • vue路由切换之淡入淡出的简单实现

    vue路由切换之淡入淡出的简单实现

    今天小编就为大家分享一篇vue路由切换之淡入淡出的简单实现,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • Springboot运用vue+echarts前后端交互实现动态圆环图

    Springboot运用vue+echarts前后端交互实现动态圆环图

    我们做项目的时候,常常需要一些统计图来展示我们的数据,作为web开发人员,会实现统计图是我们必会的技能。我将带大家来实现动态饼图的实现,感兴趣的可以了解一下
    2021-06-06
  • Vue渲染函数详解

    Vue渲染函数详解

    下面小编就为大家带来一篇Vue渲染函数详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • 解决vue-cli@3.xx安装不成功的问题及搭建ts-vue项目

    解决vue-cli@3.xx安装不成功的问题及搭建ts-vue项目

    这篇文章主要介绍了解决vue-cli@3.xx安装不成功的问题及搭建ts-vue项目.文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • vue element-ui 绑定@keyup事件无效的解决方法

    vue element-ui 绑定@keyup事件无效的解决方法

    遇到vue element-ui 绑定@keyup事件无效的问题怎么解决?下面小编就为大家分享一篇vue element-ui 绑定@keyup事件无效的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-03-03
  • vue3+ts 依赖注入provide inject的用法

    vue3+ts 依赖注入provide inject的用法

    vue3中引入新的组件传值方式,就是provide/inject依赖注入模式,本文主要介绍了vue3+ts 依赖注入provide inject的用法,感兴趣的可以了解一下
    2023-11-11

最新评论