vue 调用mutation方法_Vuex白话教程第三讲:Vuex旗下的Mutation

本文是Vuex教程的第三部分,讲解如何通过Mutation改变State。Mutation必须通过store.commit来触发,可以传递参数(载荷)。Mutation中的状态修改需要遵循Vue的响应式规则,特别是针对对象的修改。此外,推荐使用常量来定义Mutation类型,以提高代码可读性和维护性。Mutation必须是同步函数,确保状态变化可追踪。
摘要由CSDN通过智能技术生成

文 | 大宏

写在前面

上一讲「Vuex 旗下的 State 和 Getter」,告诉了我们怎么去使用仓库 store 中的状态数据。当然,光会用肯定还不够,大部分的应用场景还得对这些状态进行操控,那么具体如何操控呢,这就是这一讲要说的重点。

只有 mutation 能动 State

更改 Vuex 的 store 中的状态的唯一方法是提交 mutation。Vuex 中的 mutation 非常类似于事件:每个 mutation 都有一个字符串的 事件类型 (type) 和 一个 回调函数 (handler)。这个回调函数就是我们实际进行状态更改的地方,并且它会接受 state 作为第一个参数:

const store = new Vuex.Store({

state: {

count: 1

},

mutations: {

// 事件类型 type 为 increment

increment (state) {

// 变更状态

state.count++

}

}

})

注意,我们不能直接 store.mutations.increment() 来调用,Vuex 规定必须使用 store.commit 来触发对应 type 的方法:

store.commit('increment')

传参

我们还可以向 store.commit 传入额外的参数:

mutations:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值