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 相关文章推荐
对采用动态原型方式无法展示继承机制得思考
Dec 04 Javascript
js禁止页面使用右键(简单示例代码)
Nov 13 Javascript
JS小游戏之象棋暗棋源码详解
Sep 25 Javascript
js和jquery如何获取图片真实的宽度和高度
Sep 28 Javascript
jquery实现的Accordion折叠面板效果代码
Sep 02 Javascript
AngularJS入门教程之过滤器用法示例
Nov 02 Javascript
jQuery中 $ 符号的冲突问题及解决方案
Nov 04 Javascript
javascript 中设置window.location.href跳转无效问题解决办法
Feb 09 Javascript
对layui初始化列表的CheckBox属性详解
Sep 13 Javascript
js正则匹配多个全部数据问题
Dec 20 Javascript
JS简易计算器实例讲解
Jun 30 Javascript
JavaScript如何优化逻辑判断代码详解
Jun 08 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
关于PHP中的Class的几点个人看法
2006/10/09 PHP
php学习 字符串课件
2008/06/15 PHP
php将数组转换成csv格式文件输出的方法
2015/03/14 PHP
php使用curl代理实现抓取数据的方法
2017/02/03 PHP
详解Laravel5.6 Passport实现Api接口认证
2018/07/27 PHP
学习YUI.Ext 第六天--关于树TreePanel(Part 2异步获取节点)
2007/03/10 Javascript
使用jQuery的ajax功能实现的RSS Reader 代码
2009/09/03 Javascript
javascript 面向对象编程 function也是类
2009/09/17 Javascript
用js做一个小游戏平台 (一)
2009/12/29 Javascript
jQuery根据纬度经度查看地图处理程序
2013/05/08 Javascript
JavaScript三元运算符的多种使用技巧
2015/04/16 Javascript
使用AngularJS实现可伸缩的页面切换的方法
2015/06/19 Javascript
jQuery Easyui学习之datagrid 动态添加、移除editor
2016/01/27 Javascript
jQuery实现日期联动效果实例
2016/07/26 Javascript
Vue.js第四天学习笔记(组件)
2016/12/02 Javascript
JavaScript原生编写《飞机大战坦克》游戏完整实例
2017/01/04 Javascript
JavaScript 中Date对象的格式化代码方法汇总
2017/09/06 Javascript
vue移动端UI框架实现QQ侧边菜单组件
2018/03/09 Javascript
ES6的异步终极解决方案分享
2019/07/11 Javascript
vue 取出v-for循环中的index值实例
2019/11/09 Javascript
详解js中的几种常用设计模式
2020/07/16 Javascript
jQuery+ThinkPHP实现图片上传
2020/07/23 jQuery
原生js实现表格循环滚动
2020/11/24 Javascript
[02:34]2016完美“圣”典风云人物:BurNIng专访
2016/12/10 DOTA
在Python中使用cookielib和urllib2配合PyQuery抓取网页信息
2015/04/25 Python
numpy使用fromstring创建矩阵的实例
2018/06/15 Python
Python通过zookeeper实现分布式服务代码解析
2020/07/22 Python
python实现图片转换成素描和漫画格式
2020/08/19 Python
远程学习的教学用品和家庭学习资源:Really Good Stuff
2020/04/27 全球购物
纺织工程专业个人求职信范文
2014/01/27 职场文书
机械专业应届毕业生自荐书
2014/06/12 职场文书
中文专业自荐书
2014/06/29 职场文书
2015年小学二年级班主任工作总结
2015/05/21 职场文书
2016年感恩节寄语
2015/12/07 职场文书
婚礼必备主持词范本!
2019/07/23 职场文书
java中为什么说子类的构造方法默认访问的是父类的无参构造方法
2022/04/13 Java/Android