原因:因为 Vuex 里的数据是保存在运行内存中的,当页面刷新时,页面会重新加载 Vue 实例,Vuex 里面的数据就会被清空。
解决方法:
1、直接保存到浏览器缓存分为两种:localStorage 或 sessionStorage
localStorage 和 sessionStorage 都是 HTML5 标准中提供的用于在客户端存储数据的 API。我们可以在 Vuex 中监听 beforeunload 事件,在页面关闭之前将 Store 中的数据存储到 localStorage 或 sessionStorage 中。在页面加载时,我们可以从 localStorage 或 sessionStorage 中获取之前保存的数据,并将其重新加载到 Vuex 中。
2、使用插件
可以使用 vuex-persistedstate 等插件来将 Vuex 数据持久化到本地存储中。