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对象弹出一个层
Mar 26 Javascript
ExtJS TabPanel beforeremove beforeclose使用说明
Mar 31 Javascript
jQuery div层的放大与缩小简单实现代码
Mar 28 Javascript
基于jquery插件实现常见的幻灯片效果
Nov 01 Javascript
node.js中的fs.unlinkSync方法使用说明
Dec 15 Javascript
javascript生成大小写字母
Jul 03 Javascript
es7学习教程之Decorators(修饰器)详解
Jul 21 Javascript
微信小程序实现折叠面板
Jan 31 Javascript
JavaScript中call和apply方法的区别实例分析
Aug 03 Javascript
Vue2 添加数据可视化支持的方法步骤
Jan 02 Javascript
如何使用webpack打包一个库library的方法步骤
Dec 18 Javascript
vue路由实现登录拦截
Mar 24 Vue.js
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
phpmyadmin中配置文件现在需要绝密的短语密码的解决方法
2007/02/11 PHP
php版微信自定义回复功能示例
2016/12/05 PHP
ThinkPHP5.1框架数据库链接和增删改查操作示例
2019/08/03 PHP
Javascript优化技巧(文件瘦身篇)
2008/01/28 Javascript
JQuery 入门实例1
2009/06/25 Javascript
JavaScript全局函数使用简单说明
2011/03/11 Javascript
javascript 基础篇1 什么是js 建立第一个js程序
2012/03/14 Javascript
Javascript中arguments和arguments.callee的区别浅析
2015/04/24 Javascript
JS实用的动画弹出层效果实例
2015/05/05 Javascript
利用HTML5的画布Canvas实现刮刮卡效果
2015/09/06 Javascript
JavaScript使用正则表达式获取全部分组内容的方法示例
2017/01/17 Javascript
用move.js库实现百叶窗特效
2017/02/08 Javascript
jQuery插件HighCharts绘制的2D堆柱状图效果示例【附demo源码下载】
2017/03/14 Javascript
浅谈vue引入css,less遇到的坑和解决方法
2018/01/20 Javascript
JavaScript折半查找(二分查找)算法原理与实现方法示例
2018/08/06 Javascript
nodejs初始化init的示例代码
2018/10/10 NodeJs
VUE接入腾讯验证码功能(滑块验证)备忘
2019/05/07 Javascript
js变量值传到php过程详解 将php解析成数据
2019/06/26 Javascript
JQuery Ajax如何实现注册检测用户名
2020/09/25 jQuery
Python加pyGame实现的简单拼图游戏实例
2015/05/15 Python
python django 访问静态文件出现404或500错误
2017/01/20 Python
python防止随意修改类属性的实现方法
2019/08/21 Python
解决pyCharm中 module 调用失败的问题
2020/02/12 Python
Python unittest生成测试报告过程解析
2020/09/08 Python
Python3+Django get/post请求实现教程详解
2021/02/16 Python
杭州-DOTNET笔试题集
2013/09/25 面试题
英语自我评价范文
2014/01/24 职场文书
《美丽的彩虹》教学反思
2014/02/25 职场文书
餐厅执行经理岗位职责范本
2014/02/26 职场文书
车队司机个人自我鉴定
2014/04/17 职场文书
中层干部竞聘演讲稿
2014/05/15 职场文书
投标人法定代表人授权委托书格式
2014/09/28 职场文书
2014年村计划生育工作总结
2014/11/14 职场文书
2019银行员工个人工作自我鉴定
2019/06/27 职场文书
Mybatis-Plus进阶分页与乐观锁插件及通用枚举和多数据源详解
2022/03/21 Java/Android
《战锤40K:暗潮》跳票至9月 公布新宣传片
2022/04/03 其他游戏