文章目录
- 一、定义mutations
- [二、组件中提交 mutations](#二、组件中提交 mutations)
- [三、带参数的 mutations](#三、带参数的 mutations)
一、定义mutations
mutations是vuex中的对象,这个对象可以定义在当前store的配置项中
js
const store = new Vuex.Store({
state: {
count: 0
},
// 定义mutations
// mutations是一个对象,对象中存放修改state的方法
mutations: {
// 方法里参数 第一个参数是当前store的state属性
// 第二个参数:payload 载荷 运输参数 调用mutaiions的时候 可以传递参数 传递载荷
addCount (state, payload) {
// 修改数据
state.count += 1
}
},
})
二、组件中提交 mutations
jsx
this.$store.commit('addCount') // 写的是mutations方法的名字
三、带参数的 mutations
目标
掌握 mutations 传参语法
语法
看下面这个案例,每次点击不同的按钮,加的值都不同,每次都要定义不同的mutations处理吗?
提交 mutation 是可以传递参数的 this.$store.commit('xxx', 参数)
提供mutation函数(带参数 - 提交载荷payload)
js
mutations: {
...
addCount (state, count) {
state.count = count
}
},
提交mutation
jsx
handle ( ) {
this.$store.commit('addCount', 10)
}
小tips: 提交的参数只能是一个, 如果有多个参数要传, 可以传递一个对象
jsx
this.$store.commit('addCount', {
count: 10
})