localtion.href 与 vue-router 如何进行缓存

项目整体使用 vue-router, 但是有几个页面因为其他原因,需要 localtion.href 进行跳转,但是 back 按钮还需要缓存之前浏览的网页。

这里写图片描述

那么有如下几个问题:

  1. keep-alive 将会失效, back 返回至列表页的时候需要重新请求数据
  2. store 数据会重置
  3. 用户之前浏览的位置如果在第2-N 页,只能请求第一个页数据

暂时性解决方法:

  1. 将列表页数据储存在 sessionStorage 中,只有sessionStorage 在跳转过程中不被重置清空,而且用户关闭网页 sessionStorage中数据清空,很符合我们所需要的生命周期。
  2. 在发送请求之前判断 sessionStorage 中是否存在数据,存在就不请求。

缺点:

  1. 复用性不高,如果有很多这种页面会导致数据乱掉,逻辑混乱
  2. 只能缓存部分数据,并不能整个页面数据全完缓存

暂时先用 sessionStorage 保存之前的数据,具体解决方向应该是浏览器缓存方面,并不是我这样主动存数据。等想到好办法之后再进行优化,因为调用浏览器缓存方面经验有点空白,给抽出时间好好研究一下。
或者小伙伴们有什么好的办法,欢迎留言

猜你喜欢

转载自blog.csdn.net/sunlei19951007/article/details/81113848
今日推荐