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实现预览待上传的本地图片
Mar 15 Javascript
简单的js分页脚本
May 21 Javascript
加随机数引入脚本不让浏览器读取缓存
Sep 04 Javascript
Jquery实现仿腾讯微博发表广播
Nov 17 Javascript
深入探寻javascript定时器
Jan 02 Javascript
javascript实现点击后变换按钮显示文字的方法
May 13 Javascript
JS将滑动门改为选项卡(需鼠标点击)的实现方法
Sep 27 Javascript
实例讲解JavaScript中instanceof运算符的用法
Jun 08 Javascript
BootStrap实现手机端轮播图左右滑动事件
Oct 13 Javascript
express框架实现基于Websocket建立的简易聊天室
Aug 10 Javascript
AngularJs的UI组件ui-Bootstrap之Tooltip和Popover
Jul 13 Javascript
vue 使用axios 数据请求第三方插件的使用教程详解
Jul 05 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
使用TinyButStrong模板引擎来做WEB开发
2007/03/16 PHP
mysql limit查询优化分析
2008/11/12 PHP
PHP数组对比函数,存在交集则返回真,否则返回假
2011/02/03 PHP
php中常量DIRECTORY_SEPARATOR用法深入分析
2014/11/14 PHP
PHP常见字符串处理函数用法示例【转换,转义,截取,比较,查找,反转,切割】
2016/12/24 PHP
php使用自带dom扩展进行元素匹配的原理解析
2020/05/29 PHP
项目实践之javascript技巧
2007/12/06 Javascript
Javascript attachEvent传递参数的办法
2009/12/14 Javascript
javascript sudoku 数独智力游戏生成代码
2010/03/27 Javascript
手把手教你自己写一个js表单验证框架的方法
2010/09/14 Javascript
jquery中动态效果小结
2010/12/16 Javascript
避免回车键导致的页面无意义刷新的解决方法
2011/04/12 Javascript
javascript实现禁止右键和F12查看源代码
2014/12/26 Javascript
JS处理json日期格式化问题
2015/10/01 Javascript
JavaScript数组去重的五种方法
2015/11/05 Javascript
javascript小数精度丢失的完美解决方法
2016/05/31 Javascript
PassWord输入框代码分享
2016/06/07 Javascript
Node.js中.pfx后缀文件的处理方法
2017/03/10 Javascript
详解vue父子组件间传值(props)
2017/06/29 Javascript
浅谈Vue的加载顺序探讨
2017/10/25 Javascript
vue.js项目中实用的小技巧汇总
2017/11/29 Javascript
Vue表单绑定的实例代码(单选按钮,选择框(单选时,多选时,用 v-for 渲染的动态选项)
2019/05/13 Javascript
swiper4实现移动端导航栏tab滑动切换
2020/10/16 Javascript
[33:42]LGD vs OG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python中json格式数据输出的简单实现方法
2016/10/31 Python
bluepy 一款python封装的BLE利器简单介绍
2019/06/25 Python
Python 导入文件过程图解
2019/10/15 Python
python判断正负数方式
2020/06/03 Python
python两个list[]相加的实现方法
2020/09/23 Python
浅析canvas元素的html尺寸和css尺寸对元素视觉的影响
2019/07/22 HTML / CSS
关于html字符串正则判断和匹配的具体使用
2019/12/12 HTML / CSS
学习计划书怎么写
2014/09/15 职场文书
大学生逃课检讨书
2015/05/04 职场文书
python实现简单的名片管理系统
2021/04/26 Python
解决SpringCloud Feign传对象参数调用失败的问题
2021/06/23 Java/Android
vue里使用create, mounted调用方法
2022/04/26 Vue.js