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 相关文章推荐
DWR Ext 加载数据
Mar 22 Javascript
Jquery+JSon 无刷新分页实现代码
Apr 01 Javascript
jquery浏览器滚动加载技术实现方案
Jun 03 Javascript
AngularJS入门教程(二):AngularJS模板
Dec 06 Javascript
js中document.write的那点事
Dec 12 Javascript
JS排序之选择排序详解
Apr 08 Javascript
老生常谈javascript中逻辑运算符&amp;&amp;和||的返回值问题
Apr 13 Javascript
实现两个文本框同时输入的实例
Sep 25 Javascript
electron + vue项目实现打印小票功能及实现代码
Nov 25 Javascript
vue 中使用 watch 出现了如下的报错的原因分析
May 21 Javascript
JQuery常用简单动画操作方法回顾与总结
Dec 07 jQuery
基于Element封装一个表格组件tableList的使用方法
Jun 29 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
上海无线电三厂简史修改版
2021/03/01 无线电
在PHP中使用X-SendFile头让文件下载更快
2014/06/01 PHP
php pthreads多线程的安装与使用
2016/01/19 PHP
PHP批量去除BOM头内容信息代码
2016/03/11 PHP
PHP面向对象程序设计组合模式与装饰模式详解
2016/12/02 PHP
PHP curl 或 file_get_contents 获取需要授权页面的方法
2017/05/05 PHP
PHP利用Socket获取网站的SSL证书与公钥
2017/06/18 PHP
workerman结合laravel开发在线聊天应用的示例代码
2018/10/30 PHP
Javascript 实现的数独解题算法网页实例
2013/10/15 Javascript
JavaScript中的常见问题解决方法(乱码,IE缓存,代理)
2013/11/28 Javascript
详解AngularJS中的作用域
2015/06/17 Javascript
jQuery实现的淡入淡出二级菜单效果代码
2015/09/15 Javascript
ES6中非常实用的新特性介绍
2016/03/10 Javascript
jQuery插件Validation快速完成表单验证的方式
2016/07/28 Javascript
浅谈Nodejs应用主文件index.js
2016/08/28 NodeJs
Ajax 加载数据 练习代码
2017/01/05 Javascript
Node.js的特点详解
2017/02/03 Javascript
Vue.js实战之通过监听滚动事件实现动态锚点
2017/04/04 Javascript
js中let和var定义变量的区别
2018/02/08 Javascript
基于vue打包后字体和图片资源失效问题的解决方法
2018/03/06 Javascript
jQuery与原生JavaScript选择HTML元素集合用法对比分析
2019/11/26 jQuery
jQuery实现B2B网站后台管理系统侧导航
2020/07/08 jQuery
详解Webpack4多页应用打包方案
2020/07/16 Javascript
Jquery如何使用animation动画效果改变背景色的代码
2020/07/20 jQuery
Python中如何优雅的合并两个字典(dict)方法示例
2017/08/09 Python
python批量替换多文件字符串问题详解
2018/04/22 Python
python实现自动登录后台管理系统
2018/10/18 Python
详解python实现交叉验证法与留出法
2019/07/11 Python
在Python函数中输入任意数量参数的实例
2019/07/16 Python
keras slice layer 层实现方式
2020/06/11 Python
澳大利亚巧克力花束和礼品网站:Tastebuds
2019/03/15 全球购物
酒店中秋节活动方案
2014/01/31 职场文书
体育教育毕业生自荐信
2014/06/29 职场文书
高中社区服务活动报告
2015/02/05 职场文书
反腐倡廉观后感
2015/06/08 职场文书
2015年国庆节广播稿
2015/08/19 职场文书