当前位置: 首页 > Web前端 > HTML5

vuekeep-alivelist页缓存详情页返回上一页不刷新,定位到上一位置

时间:2023-04-05 21:34:35 HTML5

原文链接:https://dsx2016.com/?p=716WeChat公众号:大哥2016需求:商品浏览列表页,输入商品详情,点击返回上一浏览位置。实现:利用vue的keep-alive的include属性动态缓存组件,从详情页原样返回,从其他页面进入列表页刷新添加需要缓存的列表页在vuexstate中定义一个数据集:{pageListArr:[]}列表页名称为proList,详情页名称为proDetail,只会缓存PageListArr中包含的字段,如pageListArr.push("proList")思路:在页面初始化之前,获取源页面名称和待加载页面名称。这里使用globalnavigationguardrouter.beforeEach((to,from,next)=>{//源页面名称->from.name//转到页面名称->to.name//如果要重定向的页面是productlist,并且不从产品详情中返回或跳转页面并返回列表页if(to.name===`proList`&&from.name===`proDetail`){console.log(`donotprocess`)}})多个不同列表页需要缓存时,比如分类商品List,活动商品列表需要先判断pageListArr是否缓存了部分页面,业务详情只返回缓存的列表页面,没有刷新,未缓存的列表页面还需要重新缓存