vuex mutations 同步操作方法详解

 更新时间:2023年10月02日 09:47:03   投稿:wdc  
这篇文章主要介绍了vuex mutations 同步操作方法,需要的朋友可以参考下

作用:修改vuex中的state,只可以通过mutations修改

  • 需要通过commit提交同步方法(1.只提交方法,参考实例1;2.携带参数提交,参考实例2)
  • 同步方法中第一个默认参数是state,可以通过state.xx拿取state中已经定义好的数据
// state中定义一些初始数据用来举例
state: {
  // 定义一个数字
  count: 0,
  // 定义一个对象
  coderyg: {
    name: 'coderyg',
    age: 25,
    height: 1.93
  },
  // 定义一个字符串
  info: 'swk'
}

实例1:修改count(只提交方法)

// App.vue
<p>{{ $store.state.count }}</p> //此时的count是0
<button @click="addCount">+</button>
<button @click="subCount">-</button>
// 提交同步
addCount() {
  this.$store.commit('increment');
},
subCount() {
  this.$store.commit('decrement');
}
// index.js
// 接收同步
increment(state) {
  state.count ++;
},
decrement(state) {
  state.count --;
}

实例2.1:携带参数普通方法提交

// App.vue
<p>{{ $store.state.count }}</p> //此时的count是0
<button @click="changeNum(+5)">+5</button>
<button @click="changeNum(-5)">-5</button>
// 提交同步--直接提交参数,num是一个数字
changeNum(num) {
  this.$store.commit('addNum', num);
}
// index.js
// 接收同步
addNum(state, num) {
  state.count += num;
}

实例2.2:携带参数对象方法提交

// App.vue
<p>{{ $store.state.count }}</p> //此时的count是0
<button @click="changeNum(+5)">+5</button>
<button @click="changeNum(-5)">-5</button>
// 提交同步--对象方式提交会以整个payload提交过去,通过payload.XX拿取提交过去的信息
changeNum(num) {
  this.$store.commit(从这开始{
    type: 'addNum',
    num
  }到这结束是payload);
}
// index.js
// 接收同步
addNum(state, payload) {
  state.count += payload.num;
}

到此这篇关于vuex mutations 同步操作方法详解的文章就介绍到这了,更多相关vuex mutations 同步操作方法详解内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 一份超级详细的Vue-cli3.0使用教程【推荐】

    一份超级详细的Vue-cli3.0使用教程【推荐】

    这篇文章主要介绍了一份超级详细的Vue-cli3.0使用教程,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-11-11
  • vue v-model的用法解析

    vue v-model的用法解析

    这篇文章主要介绍了v-model的基本用法解析,帮助大家更好的理解和学习vue v-model的使用方法,感兴趣的朋友可以了解下
    2020-10-10
  • VUE + OPENLAYERS实现实时定位功能

    VUE + OPENLAYERS实现实时定位功能

    本系列文章介绍一个简单的实时定位示例,基于VUE + OPENLAYERS实现实时定位功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2021-09-09
  • vue3中watch与watchEffect的区别

    vue3中watch与watchEffect的区别

    vue3 新增的 Composition API中的 watchEffect 和 watch都可在 setup() 函数中使用,本文重点介绍vue3中watch与watchEffect的区别,感兴趣的朋友一起看看吧
    2023-02-02
  • vue 3.0 使用ref获取dom元素的示例

    vue 3.0 使用ref获取dom元素的示例

    这篇文章主要介绍了vue 3.0 使用ref获取dom元素,包括vue2.x获取dom和vue3.0获取单个dom,通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-08-08
  • Vue3全局配置axios的两种方式总结

    Vue3全局配置axios的两种方式总结

    在实际项目开发中,几乎每个组件中都会用到 axios 发起数据请求,下面这篇文章主要给大家总结介绍了关于Vue3全局配置axios的两种方式,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-01-01
  • vue3.0 加载json的方法(非ajax)

    vue3.0 加载json的方法(非ajax)

    这篇文章主要介绍了vue3.0 加载json的方法(非ajax),帮助大家更好的理解和学习vue,感兴趣的朋友可以了解下
    2020-10-10
  • element-ui表单提交自动清空隐藏表单值实现

    element-ui表单提交自动清空隐藏表单值实现

    这篇文章主要为大家介绍了element-ui表单提交自动清空隐藏表单值实现示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • vue的过滤器filter实例详解

    vue的过滤器filter实例详解

    本文通过实例代码给大家介绍了vue的过滤器filter的相关知识,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-09-09
  • vue安装依赖npm install过程中报错npm ERR! cb() never called!问题

    vue安装依赖npm install过程中报错npm ERR! cb() nev

    这篇文章主要介绍了vue安装依赖npm install过程中报错npm ERR! cb() never called!问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-04-04

最新评论