首页 > 其他分享 >Vue刷新vuex数据丢失

Vue刷新vuex数据丢失

时间:2022-12-19 14:08:51浏览次数:42  
标签:Vue Vuex value state 丢失 import vuex


安装依赖

npm install vuex-persistedstate

使用

import Vue from 'vue'
import Vuex from 'vuex'
import createPersistedState from 'vuex-persistedstate'

Vue.use(Vuex)

export default new Vuex.Store({
state: {
/** 用户信息 */
userInfo: {}
},
getters: {
},
mutations: {
},
actions: {},
plugins: [
createPersistedState({
storage: window.sessionStorage
})
]
})

解决JSON.stringify循环依赖的问题

import Vue from 'vue'
import Vuex from 'vuex'
import createPersistedState from 'vuex-persistedstate'

Vue.use(Vuex)

/** 解决深拷贝问题 */
const getCircularReplacer = () => {
const seen = new WeakSet();
return (key, value) => {
if (typeof value === "object" && value !== null) {
if (seen.has(value)) {
return;
}
seen.add(value);
}
return value;
};
}

export default new Vuex.Store({
state: {
/** 用户信息 */
userInfo: {}
},
getters: {
},
mutations: {
/** 使用示例 */
noteMsg(state, payload) {
state.groupInfo = JSON.parse(JSON.stringify(payload, getCircularReplacer()))
}
},
actions: {},
plugins: [
createPersistedState({
storage: window.sessionStorage
})
]
})

完美解决!


标签:Vue,Vuex,value,state,丢失,import,vuex
From: https://blog.51cto.com/luckyqilin/5952237

相关文章

  • 日常总结:Vue写一个炫酷的时钟插件
    效果图代码奉上:<template><divclass="clock"><divclass="flip"><divclass="digitalfront":data-number="nextTimes[0]"></div><d......
  • 日常总结:Vue实现一个炫酷的代码瀑布流背景
    先看一下效果:代码奉上:<template><canvasid="canvas"/></template><script>exportdefault{name:"BackCanvas",props:{height:{......
  • vue基础 B站课程
     反转字符串:<template><div><!--先照抄,之后再自己写。多写。把vue的课程全学出来。。。。。职业:1学好本专业学技术2跨专业考研考公3.公务员教师......
  • vuejs实现文件下载的三种方式
    第一种方式是前端创建超链接,通过a标签的链接向后端服务发get请求,接收后端的文件流,非常简单:<a:href='"/路径"'>下载模板</a>另一种情况是创建div标签,动态创建a标签:<div......
  • Vue.$nextTick的原理是什么-vue面试进阶
    原理性的东西就会文字较多,请耐下心来,细细品味Vue中DOM更新机制当你气势汹汹地使用Vue大展宏图的时候,突然发现,咦,我明明对这个数据进行更改了,但是当我获取它的时候怎么是上......
  • 面试官:vue2和vue3的区别有哪些?
    一、Vue3与Vue2区别详述1.生命周期对于生命周期来说,整体上变化不大,只是大部分生命周期钩子名称上+“on”,功能上是类似的。不过有一点需要注意,Vue3在组合式API(Comp......
  • 必会vue面试题(附答案)
    vue初始化页面闪动问题使用vue开发时,在vue初始化之前,由于div是不归vue管的,所以我们写的代码在还没有解析的情况下会容易出现花屏现象,看到类似于{{message}}的字样,虽然一般......
  • 前端一面必会vue面试题(边面边更)
    为什么要使用异步组件节省打包出的结果,异步组件分开打包,采用jsonp的方式进行加载,有效解决文件过大的问题。核心就是包组件定义变成一个函数,依赖import()语法,可以实现文......
  • 说说你对Vue的keep-alive的理解
    什么是keep-alive在平常开发中,有部分组件没有必要多次初始化,这时,我们需要将组件进行持久化,使组件的状态维持不变,在下一次展示时,也不会进行重新初始化组件。也就是说,keep......
  • 说说Vue响应式系统中的Watcher和Dep的关系-面试进阶
    引言在这里我先提出两个问题(文章末尾会进行解答):在Vue的数据响应系统中,Dep和Watcher各自分担什么任务?Vue的数据响应系统的核心是Object.defineproperty一定是最好的吗?有......