vuex-命名空间-vuex-persistedstate
在定义store命名空间时,使用vuex-persistedstate持久化指定数据
https://www.jianshu.com/p/29fd74d4cf7b
我的项目中定义了两个module:data(命名空间d),event(命名空间e),分别存储全局参数和全局响应事件
-
vuex-persistedstate 会在 state 改变时将值持久化
-
全部存储
export default new Vuex.Store({
modules: {
d: DataModule,
e: EventModule
},
plugins: [
persistedState({
storage: window.sessionStorage
})
]
})
得到

- 部分存储
import Vue from 'vue'
import Vuex from 'vuex'
import DataModule from './data/index.js'
import EventModule from './event/index.js'
import persistedState from 'vuex-persistedstate'
Vue.use(Vuex)
export default new Vuex.Store({
modules: {
d: DataModule,
e: EventModule
},
plugins: [
persistedState({
storage: window.sessionStorage,
reducer (state) {
return {
d: {
user: state.d.user
}
}
}
})
]
})
得到

有点坑的是:vue的浏览器插件并不响应vuex-persistedstate写回vuex的事件,也不能正确读取vuex的数据,不知道我这样是否准确,总之在刷新之后,vuex中明明有值,但是插件中不显示,而且 Object 变成了 function,不清楚为什么

Comments ()