什么是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
属性起个别名,我们可以通过对象的形式: