上一节中我们讲到了state属性,它是组件数据的一个状态,今天我们来学习一下vuex中第二个属性getters

那什么是Getters?它有什么作用?

Getters 我们可以理解为store仓库的一个计算属性,它的作用主要是用来派生出一些新的状态。比如我们要把state状态的数据进行一次映射或者筛选,再把这个结果重新计算并提供给组件使用。举个例子:

store.js
这里写图片描述
此时,getters 会暴露出一个store.getters对象,我们就可以在任何组件中使用this.$store.getters.xxx来绑定数据。

header.vue
这里写图片描述
但是上面写法还是不够简便,假如我 getters 状态多的时候,就得重复这样的写法,很麻烦,也不够美观,vuex给我们提供了另外一个方法mapGetters顾名思义就是映射多个getters。下面我们再改一下上面的代码(使用es6语法)。

store.js
这里写图片描述
然后我们可以使用vuex提供的mapGetters方法来绑定多个getters对象。在结合es6 ... 对象运算符来合并我们组件的本地计算属性。

header.vue
这里写图片描述
最后如果我们想给getters属性起个别名,我们可以通过对象的形式:
这里写图片描述

Logo

前往低代码交流专区

更多推荐