vuex状态管理模式之Getters属性

lxf2024-04-06 10:55:30

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

  store.js

  vuex状态管理模式之Getters属性

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

  header.vue

  vuex状态管理模式之Getters属性

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

  store.js

  vuex状态管理模式之Getters属性

  然后我们可以使用提供的方法来绑定多个对象。在结合es6 对象运算符来合并我们组件的本地计算属性。

  header.vue

  vuex状态管理模式之Getters属性

  最后如果我们想给属性起个别名,我们可以通过对象的形式:

  vuex状态管理模式之Getters属性