vuex分了多个模块,利用语法糖调用不同模块里的方法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | // store/modules/a.js export default { state: { ... }, getters: { ... }, mutations: { ... }, actions: { ... } } // store/modules/b.js export default { state: { ... }, getters: { ... }, mutations: { ... }, actions: { ... } } // store/index.js import Vuex from 'vuex' ; import A from './modules/a' ; import B from './modules/b' ; const store = new Vuex.Store({ modules: { a: A, b: B } }); export default store; |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | //vue页面<script> import { mapState, mapMutations, mapActions } from 'vuex' ; export default { computed: { // 使用mapState生成计算属性 ...mapState({ countA: state => state.a.count, // 从a模块获取状态 countB: state => state.b.count, // 从b模块获取状态 }), }, methods: { ...mapMutations( 'a' , [ 'update' ]), // 使用mapActions生成方法 ...mapActions({ incrementA: 'a/increment' , // 从a模块调用action incrementB: 'b/increment' , // 从b模块调用action }), someMethod(){ this .update(newValue); // 调用模块a中的mutation } }, }; </script> |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异