antd vue 刷新保留当前页面路由,保留选中菜单,保留menu选中操作


Posted in Javascript onAugust 06, 2020

废话不说,上代码!

<a-menu theme="dark" mode="inline" :selectedKeys="[$route.path]">
     <a-menu-item :key="'/home'">
      <router-link to="home">
       <a-icon type="user" />
       <span>nav 1</span>
      </router-link>
     </a-menu-item>
     <a-menu-item :key="'/about'">
      <router-link to="about">
       <a-icon type="video-camera" />
       <span>nav 2</span>
      </router-link>
     </a-menu-item>
     <a-menu-item :key="'/123123'">
      <router-link to="123123">
       <a-icon type="upload" />
       <span>nav 3</span>
      </router-link>
     </a-menu-item>
    </a-menu>

重点:

1,selectedkeys要设置成$route.path地址

2,a-menu-item 的key设置成要去的地址

刷新页面,成功!

补充知识:vue根据路由刷新页面(切换菜单刷新页面)

刷新页面有两种方法:

一种是用:localtion.reload();但是这种是重新加载页面,造成一闪一闪的效果。

一种是用provide+inject,

provider/inject:简单的来说就是在父组件中通过provider来提供变量,然后在子组件中通过inject来注入变量。

需要注意的是这里不论子组件有多深,只要调用了inject那么就可以注入provider中的数据。而不是局限于只能从当前父组件的prop属性来获取数据。

1.在app.vue页面中加入

<div id="app">
   <router-view v-if="isRouterAlive"></router-view>
 </div>
provide() {
   return{
    reload: this.reload
   }
  },
  data() {
   return {
    isRouterAlive: true
   }
  },
 methods: {
   reload () {
    this.isRouterAlive = false;
    this.$nextTick(function () {
     this.isRouterAlive = true
    })
   }
  },

2.在菜单页面加入

inject: ['reload'], // 注入重载的功能(注入依赖)
watch: {
  //检测路由参数发生改变时,刷新当前页面 调用
  '$route': function(){
   // this.reload();
  }
 },

3.注意这个@click方法,里面就是调用重新加载的方法

<el-menu-item v-if="validatenull(item[childrenKey]) && vaildRoles(item)"
          :index="item[pathKey]"
          @click="open(item)"
          :key="item[labelKey]"
          :class="{'is-active':vaildAvtive(item)}"
          >

调用this.reload()方法,即可重新加载路由刷新页面。

open(item) {
   if (this.screen <= 1) this.$store.commit("SET_COLLAPSE");
   this.$router.$avueRouter.group = item.group;
   this.$router.push({
    path: this.$router.$avueRouter.getPath({
     name: item[this.labelKey],
     src: item[this.pathKey]
    }),
    query: item.query,
   });
   this.reload();
  },

以上这篇antd vue 刷新保留当前页面路由,保留选中菜单,保留menu选中操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Jqgrid表格随窗口大小改变而改变的简单实例
Dec 28 Javascript
Bootstrap实现登录校验表单(带验证码)
Jun 23 Javascript
javascript添加前置0(补零)的几种方法
Jan 05 Javascript
深入理解Javascript箭头函数中的this
Feb 13 Javascript
React Native之TextInput组件解析示例
Aug 22 Javascript
React.Js添加与删除onScroll事件的方法详解
Nov 03 Javascript
AngularJS中重新加载当前路由页面的方法
Mar 09 Javascript
js中的闭包实例展示
Nov 01 Javascript
JavaScript解析及序列化JSON的方法实例分析
Jan 04 Javascript
Vue中util的工具函数实例详解
Jul 08 Javascript
Vue作用域插槽实现方法及作用详解
Jul 08 Javascript
javascript实现计算器功能详解流程
Nov 01 Javascript
javascript实现页面的实时时钟显示示例
Aug 06 #Javascript
Javascript如何递归遍历本地文件夹
Aug 06 #Javascript
通过vue刷新左侧菜单栏操作
Aug 06 #Javascript
Vue页面手动刷新,实现导航栏激活项还原到初始状态
Aug 06 #Javascript
浅谈JavaScript中等号、双等号、 三等号的区别
Aug 06 #Javascript
前端开发基础javaScript的六大作用
Aug 06 #Javascript
vue 导航菜单刷新状态不消失,显示对应的路由界面操作
Aug 06 #Javascript
You might like
Session服务器配置指南与使用经验的深入解析
2013/06/17 PHP
PHP安全上传图片的方法
2015/03/21 PHP
php插件Xajax使用方法详解
2017/08/31 PHP
PHP分页显示的方法分析【附PHP通用分页类】
2018/05/10 PHP
关于laravel 数据库迁移中integer类型是无法指定长度的问题
2019/10/09 PHP
ExtJs事件机制基本代码模型和流程解析
2010/10/24 Javascript
用js写了一个类似php的print_r输出换行功能
2013/02/18 Javascript
浅谈javascript中自定义模版
2015/01/29 Javascript
简介JavaScript中POSITIVE_INFINITY值的使用
2015/06/05 Javascript
javascript单例模式的简单实现方法
2015/07/25 Javascript
IE8利用自带的setCapture和releaseCapture解决iframe的拖拽事件方法
2016/10/25 Javascript
谈谈JS中常遇到的浏览器兼容问题和解决方法
2016/12/17 Javascript
jQuery中的deferred对象和extend方法详解
2017/05/08 jQuery
js对象数组和对象的使用实例详解
2019/08/27 Javascript
小程序中设置缓存过期的实现方法
2020/01/14 Javascript
JavaScript实现浏览器网页自动滚动并点击的示例代码
2020/12/05 Javascript
Python  __getattr__与__setattr__使用方法
2008/09/06 Python
Python日期操作学习笔记
2008/10/07 Python
python单例模式实例分析
2015/04/08 Python
matplotlib实现热成像图colorbar和极坐标图的方法
2018/12/13 Python
将数据集制作成VOC数据集格式的实例
2020/02/17 Python
keras实现多GPU或指定GPU的使用介绍
2020/06/17 Python
Python库安装速度过慢解决方案
2020/07/14 Python
Python3 搭建Qt5 环境的方法示例
2020/07/16 Python
纯CSS3实现鼠标滑过按钮动画第二节
2020/07/16 HTML / CSS
船舶专业个人求职信范文
2014/01/02 职场文书
军校本科大学生自我评价
2014/01/14 职场文书
乡镇总工会学雷锋活动总结
2014/03/01 职场文书
大班开学家长寄语
2014/04/04 职场文书
公司领导九九重阳节发言稿2014
2014/09/25 职场文书
买卖合同纠纷代理词
2015/05/25 职场文书
朋友聚会开场白
2015/06/01 职场文书
2016年小学优秀班主任事迹材料
2016/02/29 职场文书
实用干货:敬酒词大全,帮你应付各种场合
2019/11/21 职场文书
CSS Transition通过改变Height实现展开收起元素
2021/08/07 HTML / CSS
MYSQL常用函数介绍
2022/05/05 MySQL