在项目中,经常使用到VUEX状态管理,对于小项目中,直接使用

this.$store.commit('mutaion-name','参数')

或者

this.$store.dispatch('actions-name','参数')

上述两种方法即可。

但是,当项目中的 mutation 或者 action 过多的时候,这样一个个的写就显得比较麻烦。

所以,vue提供了 mapActions和mapMutations 。两者使用方法相似,下面以 mapActions为例。

一、引入 mapActions

import { mapActions } from 'vuex'复制代码

二、进行解构赋值和拓展运算

export default {// ...methods: {//下述中的 ... 是拓展运算符// 使用 [] 是解构赋值...mapActions(['increment', // 将 `this.increment()` 映射为 `this.$store.dispatch('increment')`// `mapActions` 也支持载荷:'incrementBy' // 将 `this.incrementBy(amount)` 映射为 `this.$store.dispatch('incrementBy', amount)`]),...mapActions({add: 'increment' // 将 `this.add()` 映射为 `this.$store.dispatch('increment')`})}
}复制代码

解析:

1. mapActions 必须放在 methods中,因为 action 或者 mutation 都是方法.

2. mapAction 里面事store 里面的集合,所以使用ES6中解构赋值的方法进行获取我们所需的方法。

  • 解构赋值不太了解的,点击这里: juejin.im/post/5c02b1…

3. mapAction 前面的 ( ... ) 是ES6中 拓展运算符,对我们所需的方法从数组中拓展出来。

  • 数组拓展运算符不太了解的,点击这里:juejin.im/post/5c02b1…

4. ES6对象中同名属性可以简写。

  • 对象简写不太了解的,点击这里:juejin.im/post/5c02b1…

5. 也可以自己命名不同函数名来映射 action方法

转载于:https://juejin.im/post/5cf9ba856fb9a07ef63fce62

VUEX中关于 mapActions, mapMutations使用解析相关推荐

  1. vuex中mapGetters,mapActions使用

    vuex运行流程图如下 1.Vue Components 是我们的 vue 组件,组件会触发(dispatch)一些事件或动作,也就是图中的 Actions 2.我们在组件中发出的动作,肯定是想获取或 ...

  2. vuex中mapState和mapMutations用法

    // 1导入 Vue 和Vuex import Vue from 'vue' import Vuex from 'vuex' // user.js 就是分模块导入, moduleUser 导入的名字随 ...

  3. [vue] Vuex中四个map方法的使用 mapState mapGetters mapActions mapMutations

    1. mapState方法: 用于帮助我们映射state中的数据为计算属性 computed: {//借助mapState生成计算属性:sum.school.subject(对象写法)...mapSt ...

  4. Vue教程5【vuex】getters,mapState,mapGetters,mapActions,mapMutations,模块化namespace

    vuex 什么时候需要使用? 状态(数据)共享! vuex工作原理 搭建vuex环境 创建文件 src/store/index.js//全局安装[--save生产环境] npm install -g ...

  5. vuex 中出现[vuex] module namespace not found in mapActions(): money找不到的报错

    使用辅助函数解释小仓库模块的state. vuex 中出现[vuex] module namespace not found in mapActions(): money找不到的报错 要在小仓库模块中 ...

  6. vue之mapMutaions的使用 vuex中 action 用法示例 api.js的使用

    vue之mapMutations的使用 我们通过Mutation来改变store中的state,方法往往是在子组件中使用 this.$store.commit(); 来实现,但是这样的缺点是不容易查看 ...

  7. Vuex中的核心方法

    Vuex中的核心方法 Vuex是一个专为Vue.js应用程序开发的状态管理模式,其采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化.每一个Vuex应用的核心就是 ...

  8. Vuex中mutations与actions的区别与用法

    一.区别 操作 描述 mutations 一般用于方法同步调用,修改vuex中state的状态. actions 一般用于方法异步调用,多用于请求后台接口. 注:mutations 同步操作,不能写异 ...

  9. vuex结合php,vuex中store的使用介绍(附实例)

    本篇文章给大家带来的内容是关于vuex中store的使用介绍(附实例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 一.状态管理(vuex)简介 vuex是专为vue.js应用程序 ...

最新文章

  1. (最新最全)windows使用anaconda安装pytorch进行深度学习并使用GPU加速
  2. 小白学python买什么书-0基础小白学python有没有什么书可以推荐的?
  3. 1. 初探MongoDB —— 介绍、安装和配置
  4. 微软发布 Microsoft SoftGrid 4.1 SP1 及 4.2 累计更新补丁
  5. CSS3 总结(一)
  6. java 代码风格_Java代码风格:最终决定
  7. 01_SpringCoud 整合SpringCoud alibaba Nacos
  8. Netty端口被占用问题
  9. 使用脚本快速查看Linux系统信息
  10. webpack4.0学习笔记
  11. html5 sha1,JavaScript 实现的base64加密、md5加密、sha1加密及AES加密
  12. win10 更新 英特尔显示器音频 后显示器音箱没有声音
  13. svn汉化依然失败无解
  14. 案例丨长江今年1号洪水平稳通过 金仓助力三峡工程防洪保电
  15. 【个人】当我秀智商的时候我秀什么
  16. 红米Note5官方刷机日记 - 小米助手Recovery刷机
  17. MySQL 查询统计订单
  18. 作为一个入门编程小白的感触
  19. 关于android4.4沉浸模式的进入和退出时系统栏状态栏遮盖问题,【Android学习】关于Android4.4沉浸模式的进入和退出时系统栏状态栏遮盖问题...
  20. windows删除注册表中多余信息及卸载残余应用

热门文章

  1. 20岁以后的男人应该知道的一些事,看一看吧
  2. JDBC连接数据库经验集萃
  3. android jni调用so库
  4. Interface classes
  5. nginx实现大小写字母转换(ngx_http_lower_upper_case模块)
  6. 向量空间模型VSM—特征抽取算法—TF-IDF
  7. 简单了解Vue的异步请求,axios-0.18.0.js插件实现异步
  8. IntentService详解
  9. kotlin学习笔记——过程控制和Range表达式
  10. 20165115 第二周学习总结