首页 > 其他 > 详细

利用vuex 做个简单的前端缓存

时间:2021-05-26 21:19:15      阅读:10      评论:0      收藏:0      [点我收藏+]

利用vuex 做个简单的前端缓存

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

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

代码如下

技术分享图片

import Vue from ‘vue‘

const state = {
  dictionary: {}
}

const mutations = {
  SET: (state, data) => {
    Vue.set(state.dictionary, data.cacheKey, data.cacheValue)
  },
  REMOVE: (state, data) => {
    Vue.delete(state.dictionary, data.cacheKey)
  },
  CLEAR: state => {
    state.dictionary = {}
  }
}

const actions = {
  get({ state }, data) {
    return state.dictionary[data]
  },
  set({ commit }, data) {
    commit(‘SET‘, data)
  },
  remove({ commit }, data) {
    commit(‘REMOVE‘, data)
  }
}

export default {
  namespaced: true,
  state,
  mutations,
  actions
}

使用

获取缓存

      let cacheKey = `${this.wwa1}-${this.wwab1}`

      let value = await this.$store.dispatch(‘cache/get‘, cacheKey)

存储

      await this.$store.dispatch(‘cache/set‘, {
        cacheKey: cacheKey,
        cacheValue: data
      })

利用vuex 做个简单的前端缓存

原文:https://www.cnblogs.com/WNpursue/p/14814264.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!