🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
>[success] # plugins -- Vuex 组件 ~~~ 1.vuex 可以提供一些组件的使用,这个参数可以订阅一个函数,让这个函数在所有的mutation结束之后执行。 ~~~ >[danger] ##### 在store 文件下的plugin文件下创建saveInLocal.js ~~~ 1.vuex 改变的内容都是保存在内存中,也就是说当用户刷新页面。所有数值等于, 没有变化,因此我们可以給vuex增加一个配置文件,这个配置文件主要的作用,可 以把内容保存在本地中,避免刷新消失的情况 2. `store.replaceState`-- 替换 store 的根状态,仅用状态合并或时光旅行调试,如果 localStorage 中存在说明是一次刷新,将`localStorage` 状态同步会vuex中 ~~~ ~~~ export default store => { if (localStorage.state) store.replaceState(JSON.parse(localStorage.state)) store.subscribe((mutation, state) => { localStorage.state = JSON.stringify(state) }) } ~~~ >[danger] ##### 在store文件下的index.js 使用 ~~~ import { createStore } from 'vuex' import state from './state' import mutations from './mutations' import actions from './actions' import getters from './getters' import user from './module/user' import saveInLocal from './plugin/saveInLocal' export default createStore({ state, mutations, actions, getters, modules:{ user }, // 使用 plugins:[saveInLocal], }) ~~~