在我们之前都是手动 把数据存到 localstoreage 和cookie中 通过vuex每次去获取,除了存储到我们也可以通过 一个插件解决 手动去存储 应用插件 vuex-persistedstate 实现

安装vuex的持久化插件

  1. npm i vuex-persistedstate

使用vuex-persistedstate插件来进行持久化

store/index.js中,使用插件来做持久化。

  1. import { createStore } from 'vuex'
  2. + import createPersistedstate from 'vuex-persistedstate'
  3. import user from './modules/user'
  4. import cart from './modules/cart'
  5. import cart from './modules/category'
  6. export default createStore({
  7. modules: {
  8. user,
  9. cart,
  10. category
  11. },
  12. + plugins: [
  13. + createPersistedstate({
  14. + key: 'erabbit-client-pc-store',
  15. + paths: ['user', 'cart']
  16. + })
  17. + ]
  18. })
  • 默认是存储在localStorage中
  • key是存储数据的键名
  • paths是存储state中的那些数据,如果是模块下具体的数据需要加上模块名称,如user.token
  • 修改state后触发才可以看到本地存储数据的的变化。

存储到sessionstorage

  1. plugins: [
  2. persistedState({ storage: window.sessionStorage })
  3. ]

所有模块都做持久化

  1. plugins: [createPersistedState()],