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 相关文章推荐
javascript div 弹出可拖动窗口
Feb 26 Javascript
让FireFox支持innerText的实现代码
Dec 01 Javascript
jquery在IE、FF浏览器的差别详细探讨
Apr 28 Javascript
jQuery满意度星级评价插件特效代码分享
Aug 19 Javascript
完美解决jQuery符号$与其他javascript 库、框架冲突的问题
Aug 09 Javascript
Bootstrap 源代码分析(未完待续)
Aug 17 Javascript
node.js中的事件处理机制详解
Nov 26 Javascript
vue.js实现备忘录功能的方法
Jul 10 Javascript
一个简易时钟效果js实现代码
Mar 25 Javascript
微信小程序仿知乎实现评论留言功能
Nov 28 Javascript
记录vue项目中遇到的一点小问题
May 14 Javascript
openlayers4.6.5实现距离量测和面积量测
Sep 25 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
学习php分页代码实例
2013/10/24 PHP
PHP面向对象之后期静态绑定功能介绍
2015/05/18 PHP
php+javascript实现的动态显示服务器运行程序进度条功能示例
2017/08/07 PHP
PHP数组式访问接口ArrayAccess用法分析
2017/12/28 PHP
深入理解JavaScript作用域和作用域链
2011/10/21 Javascript
JS操作Cookie写入和读取实例代码
2013/10/20 Javascript
Jquery 数组操作大全个人总结
2013/11/13 Javascript
解决用jquery load加载页面到div时,不执行页面js的问题
2014/02/22 Javascript
js实现仿爱微网两级导航菜单效果代码
2015/08/31 Javascript
利用vue实现模态框组件
2016/12/19 Javascript
Bootstrap 3浏览器兼容性问题及解决方案
2017/04/11 Javascript
jQuery+ajax实现局部刷新的两种方法
2017/06/08 jQuery
JavaScript之iterable_动力节点Java学院整理
2017/06/29 Javascript
Javascript中JSON数据分组优化实践及JS操作JSON总结
2017/12/22 Javascript
使用JS代码实现俄罗斯方块游戏
2018/08/03 Javascript
vue实现Input输入框模糊查询方法
2021/01/29 Javascript
web.py中调用文件夹内模板的方法
2014/08/26 Python
python编程实现希尔排序
2017/04/13 Python
python执行系统命令后获取返回值的几种方式集合
2018/05/12 Python
Python实现对字典分别按键(key)和值(value)进行排序的方法分析
2018/12/19 Python
python构建基础的爬虫教学
2018/12/23 Python
对Python中实现两个数的值交换的集中方法详解
2019/01/11 Python
对python numpy.array插入一行或一列的方法详解
2019/01/29 Python
pytorch sampler对数据进行采样的实现
2019/12/31 Python
Python面向对象中类(class)的简单理解与用法分析
2020/02/21 Python
Python调用shell命令常用方法(4种)
2020/05/11 Python
深入浅析css3 border-image边框图像详解
2015/11/24 HTML / CSS
使用phonegap操作数据库的实现方法
2017/03/31 HTML / CSS
adidas美国官网:adidas US
2016/09/21 全球购物
党员实事承诺书
2014/03/26 职场文书
个人整改措施落实情况汇报
2014/10/29 职场文书
2014年艾滋病防治工作总结
2014/12/10 职场文书
《鲁班学艺》读后感3篇
2019/11/27 职场文书
教你使用Python pypinyin库实现汉字转拼音
2021/05/27 Python
Python pygame实现中国象棋单机版源码
2021/06/20 Python
探讨Java中的深浅拷贝问题
2021/06/26 Java/Android