当前位置: 首页 > news >正文

VueX mapState、mapGetters、mapActions和mapMutaions 的使用

一、mapState和mapGetters

如果我们想要读取VueX中的State数据的Getters数据时,需要使用$store.state.数据名 和 $store.getters.数据名。

当我们State和getters中的数据多了以后,书写会很麻烦:

如果我们想要使用方便可以配置计算属性来简化书写:

但是这样配置计算属性过于繁琐,为了便于书写,VueX为我们提供了mapState和mapGetters来方便我们书写。

(一)引入mapState和mapGetters

import { mapState, mapGetters } from 'vuex';

(二)配置mapState和mapGetters

我们配置mapState和mapGetters是在计算属性中配置。

1. 数组写法

因为mapState和mapGetters返回的是一个对象,所以我们需要使用...扩展运算符进行处理。

computed : {

        ...mapState([ "数据1", "数据2"... ]),

        ...mapGetters(["数据1", "数据2"...])

}

注意:这里的数据名称是state中的数据名称,创建出来的计算属性名称与其同名 

2. 对象写法

使用对象写法,在模板中的数据使用新数据

computed:{

        ...mapState({

                新数据1 : "数据1",

                新数据2 : "数据2"

        }),

        ...mapGetters({

                新数据1 : "数据1",

                新数据2 : "数据2"

        })

}

 

 

二、 mapActions和mapMutaions

我们调用Actions和Mutations中的方法,要一直调用this.$store.dispatch 和 this.$store.commit ,写法有些繁琐。

VueX为我们提供了mapActions和mapMutaions,能够对这些方法的调用进行简写。

(一)引入mapActions和mapMutaions

import { mapActions, mapMutaions } from 'vuex';

(二)配置mapActions和mapMutaions

1. 数组写法

methods : {

        ...mapActions([ "方法1", "方法2"... ]),

        ...mapMutations(["方法1", "方法2"...])

}

 

2. 对象写法

methods : {

        ...mapActions({

                新方法1 : "方法1",

                新方法2 : "方法2"

        }),

        ...mapMutations({

                新方法1 : "方法1",

                新方法2 : "方法2"

        })

}

3. 传参

传参直接在事件回调函数那里调用就行

http://www.lryc.cn/news/218045.html

相关文章:

  • GMP标准的制药级层流细胞实验室核心要点
  • [免费] 适用于 Windows的10 的十大数据恢复软件
  • 【halcon踩坑】区域为空但个数是1
  • 第二十四章 BEV感知系列一(车道线感知)
  • C++入门讲解第一篇
  • 项目实战:分页功能实战
  • AI人工智能大模型应用如何落地?
  • 【优选算法系列】第一节.栈的简介(1047. 删除字符串中的所有相邻重复项和844. 比较含退格的字符串)
  • PostgreSQL逻辑管理结构
  • 高匿IP有什么作用
  • Ubuntu Linux 23.10安装manimgl
  • modesim verilog仿真验证基本流程(新建工程方式)
  • SpringBoot+AOP+自定义注解,优雅实现日志记录
  • 多式联运路径优化问题:基于拓扑排序的遗传算法染色体编码
  • Go 方法集合与选择receiver类型
  • Unity AudioClip和PCM音频数据的转化
  • linux配置vlan后网络不通
  • GORM:在Go中轻松管理数据库
  • Ubuntu18.04 下PCL的卸载与安装
  • SMTP邮件发送图片-如何在github中存储图片并访问
  • 2023年软件系统架构师论文【回忆版】
  • 【使用python实现文件视频格式的转换】
  • 新媒体运营的营销方案
  • Flutter 05 组件状态、生命周期、数据传递(共享)、Key
  • 2.Vue3项目(二):vue项目创建,项目必需的基础依赖配置,项目集成各种第三方依赖
  • 【Mybatis源码】注册器 - TypeAliasRegistry
  • 【wp】2023鹏城杯初赛 Web web1(反序列化漏洞)
  • 三顾茅庐,七面阿里,成功上岸25k16薪,我行你也行~
  • 儿童听力损伤了,家长怎么办?
  • 【实验记录】为了混毕业·读读论文叭