vue2知识点:vuex中四个map方法的使用,包括:mapState、mapGetters、mapMutations、mapActions

简介: vue2知识点:vuex中四个map方法的使用,包括:mapState、mapGetters、mapMutations、mapActions

image.png

@[toc]

8.4四个map方法的使用

8.4.1讲解生成代码函数mapState和mapGetters

image.png
image.png

注意点1:

问题:mapState干啥的?

答案:用来生成重复代码的,比如 return this.$store.state.xxxx这段就非常重复,无法复用。其中 mapState采用{K:V}形式,K为计算属性名或者方法名,V为属性名

java sum(){ return this.$store.state.sum }, school(){ return this.$store.state.school }, subject(){ return this.$store.state.subject }, --------------------------------------------------------------------------------- 等同于 mounted() { const x = mapState({he:'sum',xuexiao:'school',xueke:'subject'}) console.log(x) }

> 打印结果:

image.png


注意点2:

问题:computed计算属性如何添加mapState?

答案:不能把mapState({he:'sum',xuexiao:'school',xueke:'subject'})直接放上去会报错为啥?因为mapState({he:'sum',xuexiao:'school',xueke:'subject'})返回的是一个{}对象,如果想使用,请使用ES6的语法,语法: ...mapState({}),其中...的作用是把mapState中的{}中的每一组展开放在computed计算属性中
computed:{
   
   ...mapState({
   he:'sum',xuexiao:'school',xueke:'subject'})
}

8.4.2讲解生成代码函数mapMutations与mapActions

image.png
image.png

注意点1:
使用mapMutations与mapActions若需要传递参数,必须在绑定事件时就传参
比如:调用加的函数increment,使用原方法功能没问题,但是如果写成简写形式就会报错如图,错误原因就是绑定事件不传参,默认传递的时\$event的触发事件,因为原方法知道把传参n传递过去,而简写方式并不知道传啥过去,就会默认把\$event对象传递过去。

<button @click="increment">+</button>

//原方法,需要传递参数n
increment(){
   
      this.$store.commit('JIA',this.n)
}

//简写方法
...mapMutations({
   increment:'JIA',decrement:'JIAN'}),

image.png

解决方案:绑定事件时就传参就行了

<button @click="increment(n)">+</button>

本人其他相关文章链接

1.《进阶篇第8章:vuex》包括理解vuex、安装vuex、搭建vuex环境、四个map方法的使用、模块化+名命空间
2.vue2知识点:理解vuex、安装vuex、搭建vuex环境
3.vue2知识点:vuex中四个map方法的使用
4.vue2知识点:模块化+名命空间

目录
相关文章
|
5月前
|
安全 Java API
【Java性能优化】Map.merge()方法:告别繁琐判空,3行代码搞定统计累加!
在日常开发中,我们经常需要对Map中的值进行累加统计。}else{代码冗长,重复调用get()方法需要显式处理null值非原子操作,多线程下不安全今天要介绍的方法,可以让你用一行代码优雅解决所有这些问题!方法的基本用法和优势与传统写法的对比分析多线程安全版本的实现Stream API的终极优化方案底层实现原理和性能优化建议一句话总结是Java 8为我们提供的Map操作利器,能让你的统计代码更简洁、更安全、更高效!// 合并两个列表});简单累加。
474 0
|
11月前
|
存储
`map()`方法在什么场景下会比 `forEach()`方法更高效?
综上所述,当需要对数组元素进行复杂的转换并生成新数组、进行链式调用和函数式编程、处理元素之间存在明确映射关系的情况以及与其他数组方法结合使用时,`map()`方法比`forEach()`方法更高效,能够使代码更加简洁、清晰和易于维护。
146 32
WK
|
11月前
|
Python
Python中format_map()方法
在Python中,`format_map()`方法用于使用字典格式化字符串。它接受一个字典作为参数,用字典中的键值对替换字符串中的占位符。此方法适用于从字典动态获取值的场景,尤其在处理大量替换值时更为清晰和方便。
WK
356 36
|
11月前
|
存储 JavaScript 前端开发
如何选择使用`map()`方法和`forEach()`方法?
选择使用`map()`方法还是`forEach()`方法主要取决于操作的目的、是否需要返回值、代码的可读性和维护性等因素。在实际开发中,需要根据具体的业务需求和场景来灵活选择合适的方法,以实现更高效、更易读和更易维护的代码。
113 3
|
12月前
|
存储 JavaScript 前端开发
《进阶篇第8章:vuex》包括理解vuex、安装vuex、搭建vuex环境、四个map方法的使用、模块化+名命空间
《进阶篇第8章:vuex》包括理解vuex、安装vuex、搭建vuex环境、四个map方法的使用、模块化+名命空间
99 3
|
存储 JavaScript 前端开发
`forEach()`方法和`map()`方法哪个执行效率更高?
`forEach()`方法和`map()`方法哪个执行效率更高?
数组方法中的`forEach()`方法和`map()`方法有什么区别?
数组方法中的`forEach()`方法和`map()`方法有什么区别?
|
4月前
|
安全 Java 数据库连接
让我们讲解一下 Map 集合遍历的方式
我是小假 期待与你的下一次相遇 ~
146 43
使用 entrySet 遍历 Map 类集合 KV
使用 entrySet 遍历 Map 类集合 KV
|
存储 前端开发 API
ES6的Set和Map你都知道吗?一文了解集合和字典在前端中的应用
该文章详细介绍了ES6中Set和Map数据结构的特性和使用方法,并探讨了它们在前端开发中的具体应用,包括如何利用这些数据结构来解决常见的编程问题。
ES6的Set和Map你都知道吗?一文了解集合和字典在前端中的应用

热门文章

最新文章