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 相关文章推荐
jquery 模板的应用示例
Nov 12 Javascript
JS仿Windows开机启动Loading进度条的方法
Feb 26 Javascript
JavaScript前端开发之实现二进制读写操作
Nov 04 Javascript
javascript发送短信验证码实现代码
Nov 12 Javascript
js密码强度实时检测代码
Mar 02 Javascript
基于JS快速实现导航下拉菜单动画效果附源码下载
Oct 27 Javascript
js实现二级导航功能
Mar 03 Javascript
Jquery中attr与prop的区别详解
May 27 jQuery
JavaScript+HTML5实现的日期比较功能示例
Jul 12 Javascript
bootstrap select2插件用ajax来获取和显示数据的实例
Aug 09 Javascript
vue实现的仿淘宝购物车功能详解
Jan 27 Javascript
mpvue实现小程序签到金币掉落动画(api实现)
Oct 17 Javascript
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加Nginx实现动态裁剪图片方案
2014/03/10 PHP
php实现压缩多个CSS与JS文件的方法
2014/11/11 PHP
让你的PHP7更快之Hugepage用法分析
2016/05/31 PHP
Yii多表联合查询操作详解
2016/06/02 PHP
Avengerls vs KG BO3 第三场2.18
2021/03/10 DOTA
javascript动画浅析
2012/08/30 Javascript
window.addEventListener来解决让一个js事件执行多个函数
2012/12/26 Javascript
js操作iframe的一些方法介绍
2013/06/25 Javascript
js实现简单的购物车有图有代码
2014/05/26 Javascript
纯js实现无限空间大小的本地存储
2015/06/18 Javascript
jQuery解决IE6、7、8不能使用 JSON.stringify 函数的问题
2016/05/31 Javascript
Javascript动画效果(4)
2016/10/11 Javascript
vue2.0实战之基础入门(1)
2017/03/27 Javascript
Javascript中类式继承和原型式继承的实现方法和区别之处
2017/04/25 Javascript
vue时间格式化实例代码
2017/06/13 Javascript
javascript中toFixed()四舍五入使用方法详解
2018/09/28 Javascript
JS+CSS实现3D切割轮播图
2020/03/21 Javascript
何时/使用 Vue3 render 函数的教程详解
2020/07/25 Javascript
vue+element UI实现树形表格
2020/12/29 Vue.js
[46:20]CHAOS vs Alliacne 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
python多线程http下载实现示例
2013/12/30 Python
python目录与文件名操作例子
2016/08/28 Python
python使用socket创建tcp服务器和客户端
2018/04/12 Python
基于OpenCV python3实现证件照换背景的方法
2019/03/22 Python
django-rest-framework解析请求参数过程详解
2019/07/18 Python
python实现从wind导入数据
2019/12/03 Python
python入门之井字棋小游戏
2020/03/05 Python
python爬虫scrapy框架之增量式爬虫的示例代码
2021/02/26 Python
商务英语专业自荐信
2013/10/14 职场文书
应届毕业生个人求职自荐信
2014/01/06 职场文书
战友聚会邀请函
2014/01/18 职场文书
社会实践活动总结范文
2014/07/03 职场文书
2014年初级职称工作总结
2014/12/08 职场文书
2015年办公室主任工作总结
2015/04/09 职场文书
小学中队活动总结
2015/05/11 职场文书
CSS实现隐藏搜索框功能(动画正反向序列)
2021/07/21 HTML / CSS