猿问
下载APP

请问一下vuex中的数据在页面刷新以后消失怎么办?

vuex中的数据在页面刷新以后消失怎么办



米脂
浏览 310回答 3
3回答

临摹微笑

在mutation的state的自定义set change方法的时候 根据使用场景的不同储存到Session Storage和Local Storage或者其他本地储存中把对应state的初始化改成从本地储存中获取另外本地储存 如果是存储JSON字符串 一定要做好相应的容错处理

HUWWW

一般在登录成功的时候需要把用户信息,菜单信息放置vuex中,作为全局的共享数据。但是在页面刷新的时候vuex里的数据会重新初始化,导致数据丢失。因为vuex里的数据是保存在运行内存中的,当页面刷新时,页面会重新加载vue实例,vuex里面的数据就会被重新赋值办法一:将vuex中的数据直接保存到浏览器缓存中(sessionStorage、localStorage、cookie)办法二:在页面刷新的时候再次请求远程数据,使之动态更新vuex数据办法三:在父页面向后台请求远程数据,并且在页面刷新前将vuex的数据先保存至sessionStorage(以防请求数据量过大页面加载时拿不到返回的数据)

慕斯卡3215842

路由本身有query参数,但是我点击更新了query,也push了,页面url不改变,这个时候其实用到了对象的拷贝,你需要对query对象做拷贝,对象的拷贝方法代码如下,我才用的对象变字符串再变对象拷贝方法let query = this.$router.history.current.query;let path = this.$router.history.current.path;//对象的拷贝let newQuery = JSON.parse(JSON.stringify(query));newQuery.pid = pid;this.$router.push({ path, query: newQuery });
打开App,查看更多内容
随时随地看视频慕课网APP
我要回答