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)]](https://javaforall.net/wp-content/uploads/2020/11/2020110817443450.jpg)
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方法里接收到的就不是单独的参数了,而是一个参数对象,也就是上边说的参数过多时如何提交
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/210943.html原文链接:https://javaforall.net
