vue keep-alive列表页缓存 详情页返回上一页不刷新,定位到之前位置


Posted in Javascript onNovember 26, 2019

需求:

商品列表页面浏览,进入商品详情,点击返回仍然是之前浏览的位置

vue keep-alive列表页缓存 详情页返回上一页不刷新,定位到之前位置

实现:

使用 vuekeep-aliveinclude 属性给组件做动态缓存,从详情页返回不变,从其他页面进入列表页则刷新

加需要缓存的列表页面定义一个数据集在 vuex

state:{
  pageListArr:[]
}

列表页的 nameproList ,详情页的 nameproDetail ,只有 PageListArr 包含的字段才会被缓存,如 pageListArr.push("proList")

<keep-alive :include="pageListArr">
  <router-view></router-view>
</keep-alive>

思路:

在页面初始化前,获取来源页面的 name 和要去加载页面的 name .

vue keep-alive列表页缓存 详情页返回上一页不刷新,定位到之前位置

在这里使用全局导航守卫

router.beforeEach((to, from, next) => {
 // 来源页面name -> from.name
 // 去往页面name -> to.name
 // 如果要跳转的页面为商品列表,且不是从商品详情返回或者跳转
 if(to.name===`proList`&&from.name!==`proDetail`){
   pageListArr.push(`proList`)
 }
 // 来源为商品页面返回列表页面
 if(to.name===`proList`&&from.name===`proDetail`){
   console.log(`不做处理`)
 }
})

当多个不同的列表页面需要设置缓存时,如分类商品列表,活动商品列表

需要先判断 pageListArr 是否已缓存某些页面,只有从商情详情返回已缓存的列表页才是无刷新,未缓存的列表页面仍然需要新缓存

vue keep-alive列表页缓存 详情页返回上一页不刷新,定位到之前位置

总结

以上所述是小编给大家介绍的vue keep-alive列表页缓存 详情页返回上一页不刷新,定位到之前位置,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
js文字滚动停顿效果代码
Jun 28 Javascript
jquery库或JS文件在eclipse下报错问题解决方法
Apr 17 Javascript
JQuery中serialize()、serializeArray()和param()方法示例介绍
Jul 31 Javascript
jquery中表单 多选框的一种巧妙写法
Sep 06 Javascript
JS经典正则表达式笔试题汇总
Dec 15 Javascript
angularJs的ng-class切换class
Jun 23 Javascript
常用的9个JavaScript图表库详解
Dec 19 Javascript
Javascript 之封装(Package)
Sep 14 Javascript
图解javascript作用域链
May 27 Javascript
JavaScript实现字符串与HTML格式相互转换
Mar 17 Javascript
JavaScript异步操作的几种常见处理方法实例总结
May 11 Javascript
vue实现在线学生录入系统
May 30 Javascript
JavaScript的变量声明与声明提前用法实例分析
Nov 26 #Javascript
vue中keep-alive,include的缓存问题
Nov 26 #Javascript
JS插件amCharts实现绘制柱形图默认显示数值功能示例
Nov 26 #Javascript
jQuery与原生JavaScript选择HTML元素集合用法对比分析
Nov 26 #jQuery
原生js实现贪食蛇小游戏的思路详解
Nov 26 #Javascript
高效jQuery选择器的5个技巧实例分析
Nov 26 #jQuery
JavaScript计算正方形面积
Nov 26 #Javascript
You might like
解决nginx不支持thinkphp中pathinfo的问题
2015/07/21 PHP
Json_encode防止汉字转义成unicode的方法
2016/02/25 PHP
Laravel下生成验证码的类
2017/11/15 PHP
javascript 表单的友好用户体现
2009/01/07 Javascript
Node.js异步I/O学习笔记
2014/11/04 Javascript
AngularJS语法详解(续)
2015/01/23 Javascript
JavaScript实现单击下拉框选择直接跳转页面的方法
2015/07/02 Javascript
Js遍历键值对形式对象或Map形式的方法
2016/08/08 Javascript
jQuery实现将div中滚动条滚动到指定位置的方法
2016/08/10 Javascript
jquery 动态合并单元格的实现方法
2016/08/26 Javascript
ajax的分页查询示例(不刷新页面)
2017/01/11 Javascript
老生常谈jacascript DOM节点获取
2017/04/17 Javascript
canvas轨迹回放功能实现
2017/12/20 Javascript
vue elementUI table 自定义表头和行合并的实例代码
2019/05/22 Javascript
微信小程序wepy框架学习和使用心得详解
2019/05/24 Javascript
Vue + Elementui实现多标签页共存的方法
2019/06/12 Javascript
vue 判断页面是首次进入还是再次刷新的实例
2020/11/05 Javascript
JavaScript字符串转数字的简单实现方法
2020/11/27 Javascript
java直接调用python脚本的例子
2014/02/16 Python
Python3实现的反转单链表算法示例
2019/03/08 Python
pyinstaller打包单个exe后无法执行错误的解决方法
2019/06/21 Python
python3 mmh3安装及使用方法
2019/10/09 Python
python 图片二值化处理(处理后为纯黑白的图片)
2019/11/01 Python
python3连接kafka模块pykafka生产者简单封装代码
2019/12/23 Python
python GUI库图形界面开发之PyQt5单选按钮控件QRadioButton详细使用方法与实例
2020/02/28 Python
Python操作Excel工作簿的示例代码(\*.xlsx)
2020/03/23 Python
在pytorch中动态调整优化器的学习率方式
2020/06/24 Python
HTML5实现的震撼3D焦点图动画的示例代码
2019/09/26 HTML / CSS
馥蕾诗美国官网:Fresh美国
2019/10/09 全球购物
澳大利亚领先的亚麻品牌:Bed Threads
2019/12/16 全球购物
2014年销售工作总结与计划
2014/12/01 职场文书
区域经理岗位职责
2015/02/02 职场文书
后勤工作个人总结
2015/02/28 职场文书
大学感恩节活动总结
2015/05/05 职场文书
详解MySQL集群搭建
2021/05/26 MySQL
css3应用示例:新增的选择器
2022/03/16 HTML / CSS