vue vuex mapgetters和mapstate

本文介绍了如何利用计算属性和Vuex的mapState/mapGetters简化模板中的内容,避免插值语法冗长。通过实例展示了如何使用mapState导入状态并结合函数,以及数组和对象的不同写法来提升代码效率。
摘要由CSDN通过智能技术生成

要点:

 

 

通过计算属性可以简化模板上写的内容 

防止插值语法写的过长

 

 

这边我们发现其实用计算属性直接写也比较麻烦,红色线都是重复的内容而vuex的某个方法可以帮助你简化

通过分析,可以看出只要把变化的东西交给某个函数即可

这边变化的东西为方法名和state里面的值名

这边要在vuex里面引入一个一个mapState

里面写入对象,注意写成字符串,形式he:'sum'(其实he也是一个字符串,但是可以省略)

 然后我们先调用一个mapState看一下是什么

发现是一个对象

然后我们把这个直接写入计算属性发现报错

因为计算属性是一个方法,在方法里面直接写对象显然是不正确的

用一个es6的解决方法

下图...obj2, //表示把obj2的内容展开放入在obj里

并且是放在中间的,与写的位置对应

 

所以同理

把函数前加入...在最后加一个逗号就行

 

 但注意的点是

当自己用计算属性写时,计算属性会在开发者工具中显示出来

 

当我们不自己去写计算属性,通过mapState去实现时.其实它也是计算属性

 

发现开发者工具里面把它们分类在了vue的绑定上,其实我们知道这里面的东西都是隶属于computed上的

 

 这是对象写法

 下面为数组写法

我们先回顾一个简写 

这边对象里面的key和要找的变量名一致时,就可以简写为a

但是如果时一个字符串那就不可以简写了!!!! 

 

所以这边的对象用简写方式行不通,因为是字符串

 所以可以尝试用数组方法写

相当于在计算属性里,写了一个方法名字为sum,而且读取的是state里面的sum

 但是要注意的是想用数组写法的话

如下写就是错误的因为state里面没有he xuexiao xueke等数据名

 

 当对于getters时

就再引用一个mapGetters

 同理

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值