【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
})
相关推荐
宇擎智脑科技1 分钟前
AntV G6、X6 与 React Flow 深度对比:核心差异与大模型时代的应用场景分析
前端·人工智能·react.js·前端框架
山核桃&17°1 分钟前
基于 Vue + Node.js 批处理bat脚本实现多环境一键部署
运维·前端·自动化
AC赳赳老秦2 分钟前
云原生AI趋势:DeepSeek与云3.0架构协同,提升AI部署性能与可移植性
大数据·前端·人工智能·算法·云原生·架构·deepseek
kilito_013 分钟前
js实现 移动动画 封装
javascript
程序哥聊面试8 分钟前
React + TS 初始化新项目报错解决方法
前端·react.js·npm
codeGoogle9 分钟前
2026 年 IM 怎么选?聊聊 4 家主流即时通讯方案的差异
android·前端·后端
_OP_CHEN11 分钟前
【前端开发之JavaScript】(二)JS基础语法上篇:吃透变量 / 类型 / 输入输出
开发语言·javascript·html·ecmascript·前端开发·网页开发
C澒16 分钟前
从单体到分布式:SLDS 2.0 全球物流履约网络架构演进之路
前端·分布式·架构·系统架构·教育电商·交通物流
We་ct19 分钟前
LeetCode 21. 合并两个有序链表:两种经典解法详解
前端·算法·leetcode·链表·typescript
70asunflower21 分钟前
TypeScript / JavaScript / Node.js:现代工程化语言体系全景解析
javascript·typescript·node.js