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 相关文章推荐
json数据的列循环示例
Sep 06 Javascript
ie7+背景透明文字不透明超级简单的实现方法
Jan 17 Javascript
提取jquery的ready()方法单独使用示例
Mar 25 Javascript
Extjs让combobox写起来简洁又漂亮
Jan 05 Javascript
详解Vue中添加过渡效果
Mar 20 Javascript
微信小程序使用request网络请求操作实例
Dec 15 Javascript
Angular4.x通过路由守卫进行路由重定向实现根据条件跳转到相应的页面(推荐)
May 10 Javascript
axios的拦截请求与响应方法
Aug 11 Javascript
移动端底部导航固定配合vue-router实现组件切换功能
Jun 13 Javascript
javascript自定义日期比较函数用法示例
Jul 22 Javascript
详解vuex数据传输的两种方式及this.$store undefined的解决办法
Aug 26 Javascript
vue+iview实现文件上传
Nov 17 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
php设置页面超时时间解决方法
2015/09/22 PHP
Yii中CGridView禁止列排序的设置方法
2016/07/12 PHP
PHP 年月日的三级联动实例代码
2017/05/24 PHP
PHP实现使用DOM将XML数据存入数组的方法示例
2017/09/27 PHP
PHP实现链表的定义与反转功能示例
2018/06/09 PHP
thinkphp5.0整合phpsocketio完整攻略(绕坑)
2018/10/12 PHP
详解php中curl返回false的解决办法
2019/03/18 PHP
JXTree对象,读取外部xml文件数据,生成树的函数
2007/04/02 Javascript
弹出最简单的模式化遮罩层的js代码
2013/12/04 Javascript
javascript 对象数组根据对象object key的值排序
2015/03/09 Javascript
Jquery uploadify上传插件使用详解
2016/01/13 Javascript
js 获取元素所有兄弟节点的实现方法
2016/09/06 Javascript
JavaScript正则表达式小结(test|match|search|replace|split|exec)
2016/12/08 Javascript
Angular2 路由问题修复详解
2017/03/01 Javascript
js实现倒计时效果(小于10补零)
2017/03/08 Javascript
Angular2数据绑定详解
2017/04/18 Javascript
Angular中的$watch、$watchGroup、$watchCollection
2017/06/25 Javascript
深入理解Vue-cli搭建项目后的目录结构探秘
2017/07/13 Javascript
微信小程序学习笔记之本地数据缓存功能详解
2019/03/29 Javascript
发布订阅模式在vue中的实际运用实例详解
2019/06/09 Javascript
Python+Wordpress制作小说站
2017/04/14 Python
Python设计实现的计算器功能完整实例
2017/08/18 Python
在pandas中一次性删除dataframe的多个列方法
2018/04/10 Python
神经网络(BP)算法Python实现及应用
2018/04/16 Python
如何用Python 实现全连接神经网络(Multi-layer Perceptron)
2020/10/15 Python
使用Python画了一棵圣诞树的实例代码
2020/11/27 Python
Python经典五人分鱼实例讲解
2021/01/04 Python
详解HTML5 Canvas绘制时指定颜色与透明度的方法
2016/03/25 HTML / CSS
环境工程大学生个人的自我评价
2013/10/08 职场文书
有针对性的求职自荐信
2013/11/14 职场文书
大学生找工作推荐信范文
2013/11/28 职场文书
入党综合考察材料
2014/06/02 职场文书
销售内勤岗位职责范本
2015/04/13 职场文书
导游词之西江千户苗寨
2019/12/24 职场文书
Java后台生成图片的完整步骤
2021/08/04 Java/Android
PYTHON InceptionV3模型的复现详解
2022/05/06 Python