Vue2 中 Vuex 实现全局状态管理,需安装 Vuex 3.x,定义 state、mutations(同步)、actions(异步),通过 mapState/mapMutations/mapActions 等辅助函数安全读写,并支持模块化、持久化与权限控制。
Vue2 中用 Vuex 实现全局集中式状态管理,核心是把共享数据统一存到一个 store 里,所有组件按规则读写,避免层层传值或事件总线混乱。它不是“多写几行代码就完事”,而是建立一套可追踪、易维护的状态更新流程。
Vue2 必须使用 Vuex 3.x 版本(如 [email protected]),安装后在 src/store/index.js 创建 store 实例:
Vue.use(Vuex) 注册插件state 存原始数据(如 { user: null, token: '' })mutations 写同步修改逻辑(如 SET_USER(state, payload))actions 处理异步(比如登录请求成功后再 commit mutation)new Vuex.Store({ ... }),并在 main.js 的 Vue 实例中注入 store 选项不直接修改 state,也不在组件里调用 mutation 函数。推荐用辅助函数保持语义清晰:
mapState 映射到 computed(如 ...mapState(['token']))mapMutations 映射到 methods(如 ...mapMutations(['SET_TOKEN']))mapActions(如 ...mapActions(['login'])),action 内部再 commit mutationmapGetters(比如判断用户是否已登录)项目一复杂,就把 store 拆成模块。例如按业务建 modules/user.js 和 modules/cart.js:
state、mutations、actions、getters
namespaced: true,防止不同模块的 mutation type 冲突...mapActions('user', ['fetchProfile'])
Vuex 默认刷新就丢数据,而登录态这类关键信息需保留:
vuex-persistedstate 插件自动同步 state 到 localStoragestore.state.user 判断登录状态,实现权限跳转HelloKittyMyDreamStore新手开局攻略HelloKittyMyDreamStore零基础入门玩法指南
暗黑不朽秘境暗黑不朽秘境手游高效刷级与快速升级实战指南
超维进化手游荒野游侠怎么玩|荒野游侠角色培养、副本攻略与实战技巧详细说明
铸兵之王最强装备排行榜一览铸兵之王全流派毕业装备推荐
小米路由4a千兆版500兆怎么设置(小米路由4a千兆版500兆设置方法)
宗师之上心法选择攻略宗师之上最强心法搭配与进阶实用技巧