【Vue】mutations

文章目录

  • 一、定义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
})
相关推荐
qwfy3 分钟前
我要用 AI-native 架构,从零重建一套制造业 ERP/MES
vue.js·spring boot·架构
默_笙4 分钟前
🚙 一条腿走路会摔:ES 关键词检索、混合召回与 ReRank 裁判
前端·javascript
YIAN8 分钟前
从跨域代理到 WebSocket:梳理前端实时通信的底层逻辑与完整实践
前端·websocket
一曲终散10 分钟前
创建 SVG 图标预览页面:从零实现到解决 CORS 问题
前端
静默回滚36 分钟前
iPhone照片电脑上打不开:HEIC解码从原理到WASM
前端
dsyyyyy11011 小时前
Vue 3 Watch 监视完全指南
前端·javascript·vue.js
航飞光电市场经理1 小时前
人员定位系统“全栈自研”技术解析:从射频前端到定位引擎的架构拆解
前端·架构
Apifox1 小时前
Apifox 9 月更新|CLI 能力升级、GitLab 私有化部署接入与产品体验优化
前端·后端·测试
deli0071 小时前
随机乱跳为什么能画出完美三角形:混沌游戏分形实验室
前端
Gizzap_Tech1 小时前
国内官网增加英文版:URL、语言切换与 hreflang 怎么配置?
前端