| |
| import { createStore } from 'vuex' |
| export default createStore({ |
| state: { |
| count: 0 |
| }, |
| mutations: { |
| sub(state) { |
| state.count--; |
| } |
| }, |
| actions: { |
| }, |
| modules: { |
| } |
| }) |
| |
| |
| <template> |
| <div> |
| <button @click="btnHandler1">-1</button> |
| </div> |
| </template> |
| |
| <script> |
| import { mapMutations } from "vuex"; |
| export default { |
| methods: { |
| ...mapMutations(['sub']), |
| btnHandler1() { |
| this.sub(); |
| } |
| } |
| }; |
| </script> |
| // store |
| export default createStore({ |
| state: { |
| count: 0 |
| }, |
| mutations: { |
| sub(state) { |
| state.count--; |
| } |
| }, |
| actions: { |
| subAsync(context){ |
| setTimeout(function(){ |
| context.commit('sub') |
| }, 2000); |
| } |
| } |
| }) |
| |
| // 子组件Subtraction.vue |
| <script> |
| import { mapActions } from "vuex"; |
| export default { |
| methods: { |
| ...mapActions(['subAsync']) |
| |
| |
| |
| } |
| }; |
| </script> |
| |
| |
| <template> |
| <div> |
| <button @click="subAsync()">-1_Async</button> |
| </div> |
| </template> |
- actions异步调用mutations中的函数,同时传参,方式2
| |
| export default createStore({ |
| state: { |
| count: 0 |
| }, |
| mutations: { |
| subN(state, step) { |
| state.count -= step; |
| } |
| }, |
| actions: { |
| subNAsync(context, step){ |
| setTimeout(function(){ |
| context.commit('subN', step) |
| }, 2000) |
| } |
| } |
| }) |
| |
| |
| <script> |
| import { mapActions } from "vuex"; |
| export default { |
| methods: { |
| ...mapActions(['subNAsync']) |
| } |
| }; |
| </script> |
| |
| |
| <template> |
| <div> |
| <button @click="subNAsync(2)">-N_Async</button> |
| </div> |
| </template> |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术