0.0.2 • Published 5 years ago

persistence-store v0.0.2

Weekly downloads
1
License
MIT
Repository
github
Last release
5 years ago

persistence-store

一个基于 vuex 的数据缓存处理,解决浏览器刷新时,状态管理中数据丢失问题。除阉割掉 modules 之外,其他使用方式和vuex几乎保持一致。

使用

import persistenceStore from 'persistence-store'


Vue.use(persistenceStore, { namespace: 'am' })
const store = persistenceStore.store({
  state: {
    a: 1,
    b: {
      persistence: 'localStorage',
      default: {}
    },
    c: {
      persistence: 'sessionStorage',
      default: {}
    }
  },
  mutations: {
    a(state, payload) {
      console.log(state, payload)
    }
  },
  actions: {
    b(context, payload) {
      console.log(context, payload)
    }
  },
  getters: {
  }
})

new Vue({
  store,
  render: h => h(App)
}).$mount('#app')

namespace为必填参数,persistenceStore.store 接受参数state、mutations、actions、getters

其中 state中每一项参数如果为对象且对象中包含 persistence 时, persistence 可以支持三种类型 none、localStorage、sessionStorage 。 分别代表不使用缓存,使用 localStorage 和使用 sessionStorage 。如果使用缓存,则刷新浏览器时读取缓存,保留 vuex 中的状态。
mutations、actions、getters 的使用同 vuex 一样。