Vuex怎么实现数据的持久化保存?

Vuex中数据的全局化管理可以使得我们数据更加便于管理,但存在一个缺点就是当页面刷新也就是实例重新创建时,数据就会丢失,而使用localStorage就可以使得数据持久化保存,但是localStorage我们可以手动的在浏览器中修改,比如localStorage中我们设置一个值为false,我们可以手动改成true,这就达不到我想要的效果了,请问还要什么解决办法?
clipboard.png

阅读 6.5k
8 个回答

vuex 不可能有你所期望的持久化。
vuex 是什么时候挂在到vue实例上的呢? 是创建实例的时候!vuex是跟着实例的。
你都刷新页面了,就是销毁了之前的实例 原来的vuex也就没了啊。

前端你能存,当然能看到,除非你存后台数据库,不要考虑这种手动打开更改你控制台的,多少人闲着去改这个,敏感信息加密下就好了

vuex本身不支持数据持久化,只能配合storage/indexDb等来实现

vuex 就是一个数据中央仓库,存在内存里面的,你刷新下,数据当然就没了。想要前端的持久化,去看看 IndexedDB 吧。

serviceWorker可以考虑下,但要注意更新(vue使用的是workbox)

存的内容不超过浏览器localStorage空间上限的话,可以用vuex-persistedstate把vuex存到localStorage里

不想被别人看到 那就别存明文了

不知道你解决没有,最近刚好有跟你很像的需求,我这有个思路,就是首先拿到数据存vuex中,不用存session中。等刷新页面的时候从vuex中去获取,然后存到session中,等页面加载结束,从session这种获取到赋值给vuex并清除session中的数据,这样应该能达到你想要的效果。

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