Mutations理解

Mutations理解
Mutations状态跟新

在这里插入图片描述

mutations: {
  //方法,默认就有一个参数是state
  increment(state) {
    state.counter++
  },
  decrement(state) {
    state.counter--
  }
},

上边的increment和decrement就是字符串的事件类型

后边的紧跟函数就是回调函数,默认state为第一个参数

Mutations参数传递

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nrHuLdje-1611572194822)(C:%5CUsers%5Cliuch%5CAppData%5CRoaming%5CTypora%5Ctypora-user-images%5Cimage-20210125182922398.png)]

addCount(count) {
  this.$store.commit('incrementCount',count)
},
addStudent() {
  const stu = {id: 154, name: 'why52', age: 148}
  this.$store.commit('addStudent',stu)
}

提交Mutations来改变状态,同时传入一个额外的参数,如果参数过多,可以将参数合并成一个对象传入。

incrementCount(state, count) {
  state.counter += count
},
addStudent(state,stu) {
    state.student.push(stu)
}

在Mutation里接受参数并且执行对应的状态修改

Mutations的提交风格

在这里插入图片描述

addCount(count) {
  // 1.普通提交风格
  this.$store.commit('incrementCount', count)
  //2.特殊提交风格
  this.$store.commit({
    type: 'incrementCount',
    count
  })
},

采用第二种提交方式时,采用es6简写count:count,如果有多个参数都可以依次这样写传过去

incrementCount(state, payload) {
  //state.counter += count
  state.counter += payload.count
},

同样的如果采用第二种提交方式,我们在Mutations方法里接收到的就不是单独的参数了,而是一个参数对象,也就是上边说的参数过多时如何提交

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值