vue前端缓存持久化过程中遇到的问题

在使用Vuex的持久化插件vuex-persistedstate时,遇到保存Map类型数据的困扰。博客作者通过将Map转换为Object来解决这一问题。在mutations中,创建了一个新的对象并存储了多个pageData属性,然后将该对象存储到state的fullMonthObjMap中,以实现数据的持久化。虽然这种方法绕过了Map的不支持,但可能引入了额外的复杂性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

uex 使用vuex-persistedstate 做持久化存储时无法保存 map,这就尴尬了

在javascript 中,object也是一种字典,object 的key 具有唯一性 使用object 存储也是可行的

vuex配置持久化插件

const vuexLocal = new VuexPersistence({
  storage:window.localStorage
})
......
  plugins:[vuexLocal.plugin]

state中重新写变量

fullMonthObjMap: {},

mutations中代码

createMonthReportMap(state, monthDate) {
      let obj = {}
      obj.pageOneData = state.pageOneData
      obj.pageTwoData = state.pageTwoData
      obj.pageThreeData = state.pageThreeData
      obj.pageFourData = state.pageFourData
      obj.pageFiveData = state.pageFiveData
      obj.pageSixData = state.pageSixData
      obj.pageSevenData = state.pageSevenData
      obj.pageEightData = state.pageEightData
      obj.pageNineData = state.pageNineData
      obj.pageTenData = state.pageTenData
      obj.pageElevenData = state.pageElevenData
      obj.pageTwelveData = state.pageTwelveData
      obj.pageThirteenData = state.pageThirteenData
      obj.pageFourteenData = state.pageFourteenData
      obj.pageFifteenData = state.pageFifteenData
      obj.pageSixteenData = state.pageSixteenData
      obj.pageSeventeenData = state.pageSeventeenData
      obj.pageEighteenData = state.pageEighteenData

      state.fullMonthObjMap[monthDate] = obj

      console.log("这个字典的语句执行了吗")
    },
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值