在我们之前都是手动 把数据存到 localstoreage 和cookie中 通过vuex每次去获取,除了存储到我们也可以通过 一个插件解决 手动去存储 应用插件 vuex-persistedstate 实现
安装vuex的持久化插件
npm i vuex-persistedstate
使用vuex-persistedstate插件来进行持久化
store/index.js中,使用插件来做持久化。
import { createStore } from 'vuex'
+ import createPersistedstate from 'vuex-persistedstate'
import user from './modules/user'
import cart from './modules/cart'
import cart from './modules/category'
export default createStore({
modules: {
user,
cart,
category
},
+ plugins: [
+ createPersistedstate({
+ key: 'erabbit-client-pc-store',
+ paths: ['user', 'cart']
+ })
+ ]
})
- 默认是存储在localStorage中
- key是存储数据的键名
- paths是存储state中的那些数据,如果是模块下具体的数据需要加上模块名称,如user.token
- 修改state后触发才可以看到本地存储数据的的变化。
存储到sessionstorage
plugins: [
persistedState({ storage: window.sessionStorage })
]
所有模块都做持久化
plugins: [createPersistedState()],