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 异步调用框架 (Part 1 - 问题 &amp; 场景)
Aug 03 Javascript
jQuery+JSON+jPlayer实现QQ空间音乐查询功能示例
Jun 17 Javascript
jQuery让控件左右移动的三种实现方法
Sep 08 Javascript
js中的onchange和onpropertychange (onchange无效的解决方法)
Mar 08 Javascript
JS实现往下不断流动网页背景的方法
Feb 27 Javascript
checkbox批量选中,获取选中项的值的简单实例
Jun 28 Javascript
浅谈JavaScript中promise的使用
Jan 11 Javascript
jQuery中DOM节点的删除方法总结(超全面)
Jan 22 Javascript
vue里input根据value改变背景色的实例
Sep 29 Javascript
vue-cli3.0 脚手架搭建项目的过程详解
Oct 19 Javascript
基于Koa2写个脚手架模拟接口服务的方法
Nov 27 Javascript
jQuery分组选择器简单用法示例
Apr 04 jQuery
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
多重?l件?合查?(二)
2006/10/09 PHP
Yii框架表单模型和验证用法
2016/05/20 PHP
php根据地址获取百度地图经纬度的实例方法
2019/09/03 PHP
Sample script that deletes a SQL Server database
2007/06/16 Javascript
JS.elementGetStyle(element, style)应用示例
2013/09/24 Javascript
JS生成随机字符串的多种方法
2014/06/10 Javascript
使用node.js半年来总结的 10 条经验
2014/08/18 Javascript
JavaScript获取表单enctype属性的方法
2015/04/02 Javascript
jQuery插件slicebox实现3D动画图片轮播切换特效
2015/04/12 Javascript
js跨域请求的5中解决方式
2015/07/02 Javascript
理解JavaScript原型链
2016/10/25 Javascript
jQuery点击弹出层弹出模态框点击模态框消失代码分享
2017/01/21 Javascript
Bootstrap缩略图与警告框学习使用
2017/02/08 Javascript
js自定义弹框插件的封装
2020/08/24 Javascript
vue 实现axios拦截、页面跳转和token 验证
2018/07/17 Javascript
小程序自定义单页面、全局导航栏的实现代码
2019/03/15 Javascript
浅谈Three.js截图并下载的大坑
2019/11/01 Javascript
nodeJs项目在阿里云的简单部署
2020/11/27 NodeJs
python基础教程之类class定义使用方法
2014/02/20 Python
python3实现抓取网页资源的 N 种方法
2017/05/02 Python
python实现各进制转换的总结大全
2017/06/18 Python
python 给DataFrame增加index行名和columns列名的实现方法
2018/06/08 Python
Python字典添加,删除,查询等相关操作方法详解
2020/02/07 Python
Python定时器线程池原理详解
2020/02/26 Python
Django更新models数据库结构步骤
2020/04/01 Python
Parts Express:音频、视频和扬声器的第一来源
2017/04/25 全球购物
德国网上宠物店:Zoobio
2018/05/23 全球购物
2014新课程改革心得体会
2014/03/10 职场文书
户籍证明格式
2014/09/15 职场文书
工商管理专业毕业生自我鉴定2014
2014/10/04 职场文书
婚前保证书范文
2015/02/28 职场文书
2016年国培研修日志
2015/11/13 职场文书
Python带你从浅入深探究Tuple(基础篇)
2021/05/15 Python
MySQL中几种插入和批量语句实例详解
2021/09/14 MySQL
django 认证类配置实现
2021/11/11 Python
小喇叭开始广播了! 四十多年前珍贵老照片
2022/05/09 无线电