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知识点:模块化+名命空间

目录
相关文章
|
20天前
|
存储 JavaScript 前端开发
`forEach()`方法和`map()`方法哪个执行效率更高?
`forEach()`方法和`map()`方法哪个执行效率更高?
|
1月前
|
JavaScript 前端开发
JavaScript Array map() 方法
JavaScript Array map() 方法
|
20天前
数组方法中的`forEach()`方法和`map()`方法有什么区别?
数组方法中的`forEach()`方法和`map()`方法有什么区别?
|
21天前
|
JavaScript 前端开发
JavaScript 中 五种迭代数组的方法 every some map filter forEach
本文介绍了JavaScript中五种常用数组迭代方法:every、some、filter、map和forEach,并通过示例代码展示了它们的基本用法和区别。
|
2月前
|
资源调度 JavaScript 定位技术
Vue2使用百度地图展示或搜索地点(vue-baidu-map)
本文介绍了如何在 Vue 项目中使用 `vue-baidu-map` 插件,包括安装、全局注册及具体应用。首先通过 `yarn add vue-baidu-map` 安装插件,并在 `main.js` 中全局注册。然后展示了如何在地图上显示特定位置的标记,以及如何搜索地点并获取其经纬度和详细地址信息。代码示例提供了详细的实现方法和样式调整。如需使用,请确保已获取百度地图 API 的密钥。
136 1
|
2月前
|
JavaScript 前端开发 索引
JS中常用的数组迭代方法(filter,forEach,map,every,some,find,findIndex)
这段代码和说明介绍了JavaScript中数组的一些常用方法。函数接收三个参数:`item`(数组项的值)、`index`(项的位置,可选)和`array`(数组本身,可选)。示例展示了如何使用`filter()`过滤非空项、`forEach()`遍历数组、`map()`处理并返回新数组、`every()`检查所有元素是否满足条件、`some()`检查是否存在满足条件的元素、`find()`获取首个符合条件的元素值以及`findIndex()`获取其索引位置。这些方法都不会修改原数组。
JS中常用的数组迭代方法(filter,forEach,map,every,some,find,findIndex)
|
2月前
|
JavaScript 前端开发 索引
JS - includes 方法和 map 方法使用方式
这篇文章介绍了JavaScript中数组的`includes`方法和`map`方法的用法,包括它们的语法、参数说明和具体的示例代码。`includes`方法用于判断数组是否包含特定元素,而`map`方法用于对数组中的每个元素执行操作并返回新数组。
38 1
|
3月前
|
前端开发 Android开发 Kotlin
Kotlin小技巧之用Transformations.map方法转换LiveData
`Transformations.map`在Kotlin的Android开发中用于LiveData的数据转换,它在数据变化时自动转换并更新新LiveData。例如,从Int转为String。当原始LiveData更新时,转换后的LiveData也相应更新,适合MVVM架构。观察者可以订阅转换后的LiveData以更新UI。
39 2
|
3月前
|
JavaScript API
js【最佳实践】遍历数组的八种方法(含数组遍历 API 的对比)for,forEach,for of,map,filter,reduce,every,some
js【最佳实践】遍历数组的八种方法(含数组遍历 API 的对比)for,forEach,for of,map,filter,reduce,every,some
65 1
|
4月前
|
存储 缓存 Java
Java遍历Map集合的方法
在Java中,遍历Map集合主要有四种方式:1) 使用`keySet()`遍历keys并用`get()`获取values;2) 使用`entrySet()`直接遍历键值对,效率较高;3) 通过`Iterator`遍历,适合在遍历中删除元素;4) Java 8及以上版本可用`forEach`和Lambda表达式,简洁易读。`entrySet()`通常性能最佳,而遍历方式的选择应考虑代码可读性和数据量。
53 0