vue无限加载跳转到新页面再返回如何回到刚刚位置

我现在有首页和详情页两个页面
首页展示商品列表,滑动到底部会自动拉取10条数据追加在底部
当用户点击某个商品会跳转到详情页(url改变)
这时候用户再点返回,就会刷新页面导致页面重新渲染
我想让用户点返回后还定位在刚刚的位置怎么做?
(详情页不想用弹窗形式)

阅读 4k
3 个回答

参考一下vue中的keep-alive
之前也希望实现这么一个功能,后来放弃了。之前查看了好多帖子都说是用这个vue的keep-alive实现的

参考:https://blog.csdn.net/fu98353...

非前端路由的话,你需要缓存数据.

请求数据时,将data里的数据全部存进sessionStorage中,然后created时,检查session中是否有缓存,有的话,将缓存取出.赋值给当前实例.

保持位置是默认行为,如果你用的是iscroll,better-scroll之类的模拟滚动库,那需要自己重置位置,滚动时,同样记录并缓存滚动高度,恢复数据时,同样取出手动重置滚动高度.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏