vue2.0页面前进刷新回退不刷新的实现方法


Posted in Javascript onJuly 31, 2018

花了整整一周时间,尝试过很多种方法,终于找到了最佳的解决方案(对我来说最佳),为了祭奠逝去的一周,也为了释放激动的情绪,现在不得不写篇博客了。

直接上重点:

第一步:

//在APP.vue里面写上keepalive,可以实现缓存(keep-alive是什么?查看官方文档)

vue2.0页面前进刷新回退不刷新的实现方法

第二步:

//在router的index.js里面给需要缓存的页面加上meta参数

vue2.0页面前进刷新回退不刷新的实现方法

第三步:

//在APP.vue里面写,当页面路由发生变化时,将相应页面的滚动位置记录下来,在页面updated时读取并赋值

vue2.0页面前进刷新回退不刷新的实现方法

第四步:

//因为我的想法是从首页(index.vue)进入列表页时刷新数据,从列表页点击进入详情页,再返回列表页时不刷新,

所以从首页进入列表页时,将列表页的isBack设置为false,

然后在列表页的activated生命周期钩子中判断isBack,为false则执行加载函数,为true则使用缓存。

//index.vue中:

vue2.0页面前进刷新回退不刷新的实现方法

//list.vue中

vue2.0页面前进刷新回退不刷新的实现方法

至此,终于完美实现了效果,其实还有可优化的地方,加入需要keepalive的页面很多的话,每一个页面都写相同的beforeRouteLeave和activated就没有必要了,

但是具体怎么优化,等需要用到了再说吧。

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

Javascript 相关文章推荐
JS获取IUSR_机器名和IWAM_机器名帐号的密码
Dec 06 Javascript
JavaScript函数的4种调用方法详解
Apr 22 Javascript
javascript使用avalon绑定实现checkbox全选
May 06 Javascript
javascript定义类和类的实现实例详解
Dec 01 Javascript
javascript数据类型验证方法
Dec 31 Javascript
angularJs使用$watch和$filter过滤器制作搜索筛选实例
Jun 01 Javascript
使用mint-ui开发项目的一些心得(分享)
Sep 07 Javascript
Angularjs中的$apply及优化使用详解
Jul 02 Javascript
JS数组方法slice()用法实例分析
Jan 18 Javascript
解决Vue 给mapState中定义的属性赋值报错的问题
Jun 22 Javascript
vue操作dom元素的3种方法示例
Sep 20 Javascript
vue+element table表格实现动态列筛选的示例代码
Jan 14 Vue.js
Node.js log4js日志管理详解
Jul 31 #Javascript
jQuery 实现倒计时天,时,分,秒功能
Jul 31 #jQuery
JS实现移动端触屏拖拽功能
Jul 31 #Javascript
JavaScript new对象的四个过程实例浅析
Jul 31 #Javascript
Vue 路由 过渡动效 数据获取方法
Jul 31 #Javascript
JS实现判断图片是否加载完成的方法分析
Jul 31 #Javascript
JavaScript+Canvas实现彩色图片转换成黑白图片的方法分析
Jul 31 #Javascript
You might like
php+mysqli预处理技术实现添加、修改及删除多条数据的方法
2015/01/30 PHP
PHP访问Google Search API的方法
2015/03/05 PHP
Yii使用migrate命令执行sql语句的方法
2016/03/15 PHP
关于恒等于(===)和非恒等于(!==)
2007/08/20 Javascript
Jquery选择器 $实现原理
2009/12/02 Javascript
js getElementsByTagName的简写方式
2010/06/27 Javascript
js取两个数组的交集|差集|并集|补集|去重示例代码
2013/08/07 Javascript
JavaScript显示当然日期和时间即年月日星期和时间
2013/10/29 Javascript
探讨js中的双感叹号判断
2013/11/11 Javascript
禁用Enter键表单自动提交实现代码
2014/05/22 Javascript
使用AngularJS 应用访问 Android 手机的图片库
2015/03/24 Javascript
jQuery EasyUI Pagination实现分页的常用方法
2016/05/21 Javascript
Bootstrap3制作搜索框样式的方法
2016/07/11 Javascript
angular ngClick阻止冒泡使用默认行为的方法
2016/11/03 Javascript
jQuery 出现Cannot read property ‘msie’ of undefined错误的解决方法
2016/11/23 Javascript
Vue数据驱动模拟实现3
2017/01/11 Javascript
详解angularJs中关于ng-class的三种使用方式说明
2017/06/02 Javascript
原生JavaScript实现remove()和recover()功能示例
2018/07/24 Javascript
vue-cli3.0+element-ui上传组件el-upload的使用
2018/12/03 Javascript
使用JQuery自动完成插件Auto Complete详解
2019/06/18 jQuery
5分钟快速看懂ES6中的反射与代理
2019/12/19 Javascript
如何使用Jquery动态生成二级选项列表
2020/02/06 jQuery
在vue中实现某一些路由页面隐藏导航栏的功能操作
2020/09/21 Javascript
numpy.transpose对三维数组的转置方法
2018/04/17 Python
Python检查和同步本地时间(北京时间)的实现方法
2018/12/03 Python
python实现TCP文件传输
2020/03/20 Python
python实现一个猜拳游戏
2020/04/05 Python
详解用Python爬虫获取百度企业信用中企业基本信息
2020/07/02 Python
时装界的“朋克之母”:Vivienne Westwood
2017/07/06 全球购物
Bloomingdale’s阿联酋:选购奢华时尚、美容及更多
2020/09/22 全球购物
创业计划书中包含的9个方面
2013/12/26 职场文书
2014年秘书工作总结
2014/11/25 职场文书
工会文体活动总结
2015/05/07 职场文书
mysql如何配置白名单访问
2021/06/30 MySQL
Python matplotlib绘制雷达图
2022/04/13 Python
Go web入门Go pongo2模板引擎
2022/05/20 Golang