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 相关文章推荐
JavaScript基本对象
Jan 11 Javascript
jscript之Read an Excel Spreadsheet
Jun 13 Javascript
javascript计算当月剩余天数(天数计算器)示例代码
Jan 09 Javascript
jquery中get,post和ajax方法的使用小结
Feb 04 Javascript
JavaScript分秒倒计时器实现方法
Feb 02 Javascript
使用jquery.qrcode.min.js实现中文转化二维码
Mar 11 Javascript
jQuery通过ajax方法获取json数据不执行success的原因及解决方法
Oct 15 Javascript
BootStrap tab选项卡使用小结
Aug 09 Javascript
js 事件的传播机制(实例讲解)
Jul 20 Javascript
JS构造一个html文本内容成文件流形式发送到后台
Jul 31 Javascript
分享5个顶级的JavaScript Ajax组件库
Sep 16 Javascript
详解Vue的sync修饰符
May 15 Vue.js
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调用MsSQL Server 2012存储过程获取多结果集(包含output参数)的详解
2013/07/03 PHP
一款简单实用的php操作mysql数据库类
2014/12/08 PHP
php数组键名技巧小结
2015/02/17 PHP
php中数据库连接方式pdo和mysqli对比分析
2015/02/25 PHP
wamp服务器访问php非常缓慢的解决过程
2015/07/01 PHP
laravel实现简单用户权限的示例代码
2019/05/28 PHP
laravel 实现向公共模板中传值 (view composer)
2019/10/22 PHP
JQuery打造PHP的AJAX表单提交实例
2009/11/03 Javascript
JavaScript OOP类与继承
2009/11/15 Javascript
jquery动态增加text元素以及删除文本内容实例代码
2013/07/01 Javascript
js的[defer]和[async]属性
2014/11/24 Javascript
JavaScript数据库TaffyDB用法实例分析
2015/07/27 Javascript
JavaScript的Polymer框架中dom-repeat与VM的相关操作
2015/07/29 Javascript
JS正则表达式比较常见用法
2016/01/26 Javascript
利用nodejs监控文件变化并使用sftp上传到服务器
2017/02/18 NodeJs
Node.js 异步异常的处理与domain模块解析
2017/05/10 Javascript
element-ui 中的table的列隐藏问题解决
2018/08/24 Javascript
Angular8 实现table表格表头固定效果
2020/01/03 Javascript
Python 迭代器与生成器实例详解
2017/05/18 Python
python实现对指定字符串补足固定长度倍数截断输出的方法
2018/11/15 Python
Python实现Linux监控的方法
2019/05/16 Python
keras模型可视化,层可视化及kernel可视化实例
2020/01/24 Python
美国单身专业人士在线约会网站:EliteSingles
2019/03/19 全球购物
大学生求职简历的自我评价
2013/10/14 职场文书
师范毕业生个人求职信
2013/12/09 职场文书
触摸春天教学反思
2014/02/03 职场文书
测绘专业大学生职业生涯规划书
2014/02/10 职场文书
法英专业大学生职业生涯规划书范文
2014/09/22 职场文书
人事代理委托书
2014/09/27 职场文书
幼儿园六一主持词开场白
2015/05/28 职场文书
重阳节座谈会主持词
2015/07/03 职场文书
2015年社区消防安全工作总结
2015/10/14 职场文书
python实战之一步一步教你绘制小猪佩奇
2021/04/22 Python
Python基于百度AI实现抓取表情包
2021/06/27 Python
vue中利用mqtt服务端实现即时通讯的步骤记录
2021/07/01 Vue.js
python数字图像处理数据类型及颜色空间转换
2022/06/28 Python