项目标题配置等发生变化,用户需要手动清除缓存才能看见?

文章讲述了在Vue应用中,由于配置数据被缓存在LocalStorage中,导致用户首次访问后的更新不显示新配置。通过在配置中加入版本号,根据版本号判断缓存,解决了用户无需手动清除缓存就能看到最新配置的问题。
摘要由CSDN通过智能技术生成

你们好,我是金金金。

image.png

场景

当更改配置后,重新部署后 用户访问后台,需手动清除本地缓存,才能看见最新的标题变化

我这里的配置是放在LocalStorage本地存储当中

image.png

image.png

  • 可以看到state的themeConfig对象里面是整个项目的配置。

排查

排查之前我先贴一下代码

  • App.vue

image.png

问题就出在这,当缓存里面有配置数据就赋值 导致一直拿的都是第一次缓存里面存入的配置。

造成error的原因

  1. 当用户第一次访问网站的时候,这时候已经在用户的本地存储存入了这些配置
  2. 之后访问 读取的一直是第一次存入的配置导致更新也没变化,需手动清除缓存才能看见最新的配置

解决

  • 我们知道导致问题的原因是出在这个判断条件上

image.png

  1. 我们在配置里面加一个版本号,之后修改了一次配置则需要手动更改一下版本号即可

image.png

  1. App.vue里面的判断逻辑更改

image.png

  1. 从缓存中 解构取出版本号
  2. 判断缓存中的版本号是否和本地的版本号一致,一致则未修改 继续从缓存里面拿,不一致则不从缓存里面取,这样就是最新的配置版本
  • 完美解决用户需手动清除缓存才能看见最新配置~

总结

主要是逻辑判断的问题,读取的一直是第一次存入本地存储的配置,加个版本号,更改配置时手动改一下版本号然后在程序判断里面控制一下即可!

  • 编写有误还请大佬指正,万分感谢。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值