我们使用 Vue 和 Vuex 的时候,当我们刷新页面的时候, Vuex 里的数据就会恢复为初始状态,要想解决这个问题,实现 Vuex 数据的持久化
- 自己实现
我们可以在刷新页面之前将数据存储到
sessionStorage
、localStorage
、cookie
里面,然后我们进入页面之前从sessionStorage
、localStorage
、cookie
里面读取数据保存到 Vuex 里即可,具体的代码如下:,如果用户退出浏览器,则
sessionStorage
里面的数据就消失了,而localStorage
里的数据除非你自己手动清除,否则一直存在,而 cookie 一般是有时效性的,而且 cookie 里面可以存储的数据大小有限,最多只能储存4KB
的数据个人建议储存在
sessionStorage
里面会更好
1 |
|
- 使用插件
你可以使用 vuex-persistedstate 这个插件,本质的原理也是使用了本地的储存,也可以分别存储在 cookie , sessionStorage , localStorage 里面
- 本文作者: leftover
- 版权声明: 本文版权归leftover所有,如需转载清标明来源!