vue中beforeRouteLeave实现页面回退不刷新的示例代码


Posted in Javascript onNovember 01, 2019

路由切换返回前一个路由时实现页面不刷新功能,首先想到的是keep-alive,但是页面不属于父子级关系,所以决定用beforeRouteLeave,下面贴代码

beforeRouteLeave(to, from, next){
  if(to.name !== 'page2'){
  
    //判断是从哪个路由过来的,如果不是page2过来的需要做什么操作在这里实现
    //如果是page2过来的,表明当前页面不需要刷新获取新数据,直接用之前缓存的数据即可
  }
  next();
 }

beforeRouteLeave后面的参数to是关于上个页面的信息,to.name就是上个路由名称。

这里有的人beforeRouteLeave方法无法触发可能是因为在page2页面中路由跳转写了router.go(-1) ,这里必须写具体跳转的路由名称

this.$router.push({name:'xxx'});

PS:

最近才做了一个功能一个路由下面有两个tab切换的页面,互相切换的时候需要保持之前选的参数,其实tab本身是有这个功能的,但是这个需求切换的时候是需要像后台发送请求,并且路由改变再切回来参数是要初始化的,所以想到了用beforerouteleave

vue中beforeRouteLeave实现页面回退不刷新的示例代码

vue中beforeRouteLeave实现页面回退不刷新的示例代码

beforerouteleave之前是一直听闻这个东西并没有用过,再网上看了,按照他们的用法并没有效果

然后就自己试了一下结果成功了

看我的目录结构

vue中beforeRouteLeave实现页面回退不刷新的示例代码

下面的migrationPeople和personalMigration分别是tab切换里面的两个内容

index里面是写tab切换的

我们只需要把beforeRouteLeave想写vue生命周期一样的写法写进来就好了,至于参数to,from是什么就给路由守卫是一样的,感兴趣的可以自己打印看一下

beforeRouteLeave(to,from,next){
   if(sessionStorage.getItem('migrationPeopleDate')){
    sessionStorage.removeItem('migrationPeopleDate')
   }
   if(sessionStorage.getItem('personalMigrationMan')){
    sessionStorage.removeItem('personalMigrationMan')
   }
   next()
  },

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js 操作css实现代码
Jun 11 Javascript
IE中radio 或checkbox的checked属性初始状态下不能选中显示问题
Jul 25 Javascript
JS中Eval解析JSON字符串的一个小问题
Feb 21 Javascript
javascript数字验证的实例代码(推荐)
Aug 20 Javascript
原生JS实现匀速图片轮播动画
Oct 18 Javascript
js实现下拉菜单效果
Mar 01 Javascript
bootstrap table表格插件之服务器端分页实例代码
Sep 12 Javascript
Vue 递归多级菜单的实例代码
May 05 Javascript
JavaScript实现随机点名器实例详解
May 07 Javascript
VUE 实现动态给对象增加属性,并触发视图更新操作示例
Nov 29 Javascript
vue 组件销毁并重置的实现
Jan 13 Javascript
jQuery AJAX应用实例总结
May 19 jQuery
vue自定义switch开关组件,实现样式可自行更改
Nov 01 #Javascript
Vue实现导航栏的显示开关控制
Nov 01 #Javascript
详解Vue后台管理系统开发日常总结(组件PageHeader)
Nov 01 #Javascript
vue设置导航栏、侧边栏为公共页面的例子
Nov 01 #Javascript
Vue中jsx不完全应用指南小结
Nov 01 #Javascript
vue导航栏部分的动态渲染实例
Nov 01 #Javascript
微信小程序自定义tabbar custom-tab-bar 6s出不来解决方案(cover-view不兼容)
Nov 01 #Javascript
You might like
PHP写的加密函数,支持私人密钥(详细介绍)
2013/06/09 PHP
php使用strtotime和date函数判断日期是否有效代码分享
2013/12/25 PHP
thinkphp ajaxfileupload实现异步上传图片的示例
2017/08/28 PHP
Jquery 设置标题的自动翻转
2009/10/03 Javascript
jquery pagination插件实现无刷新分页代码
2009/10/13 Javascript
fancybox1.3.1 基于Jquery的插件在IE中图片显示问题
2010/10/01 Javascript
AJAX异步从优酷专辑中采集所有视频及信息(JavaScript代码)
2010/11/20 Javascript
通过伪协议解决父页面与iframe页面通信的问题
2015/04/05 Javascript
在js里怎么实现Xcode里的callFuncN方法(详解)
2016/11/05 Javascript
用jQuery实现圆点图片轮播效果
2017/03/19 Javascript
老生常谈angularjs中的$state.go
2017/04/24 Javascript
jquery实现提示语淡入效果
2017/05/05 jQuery
详解wow.js中各种特效对应的类名
2017/09/13 Javascript
详解使用vue-cli脚手架初始化Vue项目下的项目结构
2018/03/08 Javascript
Express本地测试HTTPS的示例代码
2018/06/06 Javascript
JavaScript寄生组合式继承原理与用法分析
2019/01/11 Javascript
优雅的处理vue项目异常实战记录
2019/06/05 Javascript
小程序实现按下录音松开识别语音
2019/11/22 Javascript
JS+JQuery实现无缝连接轮播图
2020/12/30 jQuery
Python基于DES算法加密解密实例
2015/06/03 Python
python面向对象_详谈类的继承与方法的重载
2017/06/07 Python
Python实现JSON反序列化类对象的示例
2018/01/31 Python
使用Python制作自动推送微信消息提醒的备忘录功能
2018/09/06 Python
python处理“
2019/06/10 Python
python调用接口的4种方式代码实例
2019/11/19 Python
PyTorch使用cpu加载模型运算方式
2020/01/13 Python
python matlab库简单用法讲解
2020/12/31 Python
伦敦一家非常流行的时尚精品店:Oxygen Boutique
2017/01/15 全球购物
Banana Republic欧盟:美国都市简约风格的代表品牌
2018/05/09 全球购物
毕业自我鉴定范文
2013/11/06 职场文书
工业设计毕业生自荐信
2014/04/13 职场文书
授权委托书格式范文
2014/08/02 职场文书
2017大学生寒假社会实践心得体会
2016/01/14 职场文书
营销策划分析:怎么策划才能更好销量产品?
2019/09/04 职场文书
Python实现提取PDF简历信息并存入Excel
2022/04/02 Python
MYSQL事务的隔离级别与MVCC
2022/05/25 MySQL