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 相关文章推荐
超简单的jquery的AJAX用法
May 10 Javascript
Bootstrap表单布局样式源代码
Jul 04 Javascript
基于jQuery实现滚动切换效果
Dec 02 Javascript
Bootstrap 3多级下拉菜单实例
Nov 23 Javascript
总结js中的一些兼容性易错的问题
Dec 18 Javascript
使用 Node.js 开发资讯爬虫流程
Jan 07 Javascript
vuex的使用及持久化state的方式详解
Jan 23 Javascript
jQuery Dom元素操作技巧
Feb 04 jQuery
jquery实现自定义树形表格的方法【自定义树形结构table】
Jul 12 jQuery
vue请求服务器数据后绑定不上的解决方法
Oct 30 Javascript
Vue实现按钮级权限方案
Nov 21 Javascript
微信小程序实现多选框功能的实例代码
Jun 24 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实现从远程下载文件的方法
2015/03/12 PHP
php is_executable判断给定文件名是否可执行实例
2016/09/26 PHP
解决laravel 5.1报错:No supported encrypter found的办法
2017/06/07 PHP
laravel实现图片上传预览,及编辑时可更换图片,并实时变化的例子
2019/11/14 PHP
js prototype 格式化数字 By shawl.qiu
2007/04/02 Javascript
JQuery 学习笔记 element属性控制
2009/07/23 Javascript
查看图片(前进后退)功能实现js代码
2013/04/24 Javascript
JavaScript新窗口与子窗口传值详解
2014/02/11 Javascript
js方法数据验证的简单实例
2016/09/17 Javascript
AngularJS中ng-class用法实例分析
2017/07/06 Javascript
HTML+JavaScript实现扫雷小游戏
2019/09/30 Javascript
vue 组件销毁并重置的实现
2020/01/13 Javascript
解决vuex改变了state的值,但是页面没有更新的问题
2020/11/12 Javascript
js实现随机点名功能
2020/12/23 Javascript
[46:59]完美世界DOTA2联赛PWL S2 GXR vs Ink 第二场 11.19
2020/11/20 DOTA
python实现的简单文本类游戏实例
2015/04/28 Python
python线程池(threadpool)模块使用笔记详解
2017/11/17 Python
pycharm+PyQt5+python最新开发环境配置(踩坑)
2019/02/11 Python
Python队列RabbitMQ 使用方法实例记录
2019/08/05 Python
Python3.7.0 Shell添加清屏快捷键的实现示例
2020/03/23 Python
django正续或者倒序查库实例
2020/05/19 Python
Python下划线5种含义代码实例解析
2020/07/10 Python
scrapy中如何设置应用cookies的方法(3种)
2020/09/22 Python
pytorch 移动端部署之helloworld的使用
2020/10/30 Python
python 实现全球IP归属地查询工具
2020/12/18 Python
一些常用的HTML5模式(pattern) 总结
2015/07/14 HTML / CSS
利用 Canvas实现绘画一个未闭合的带进度条的圆环
2019/07/26 HTML / CSS
W Concept美国:精选全球独立设计师
2017/02/22 全球购物
美国最好的保健品打折网店:Swanson
2017/08/04 全球购物
Can a struct inherit from another struct? (结构体能继承结构体吗)
2016/09/25 面试题
破坏寝室公物检讨书
2014/11/17 职场文书
小学重阳节活动总结
2015/03/24 职场文书
第一书记观后感
2015/06/08 职场文书
2016公司中秋节寄语
2015/12/07 职场文书
人事行政部各岗位职责说明书!
2019/07/15 职场文书
利用Python脚本写端口扫描器socket,python-nmap
2022/07/23 Python