Vuex中getter对象的值居然可以这样轻松获取

作者: 杜尔伯特蒙古族自治县纯量网络阅读:55 次发布时间:2024-03-02 11:34:21

摘要:在Vue.js的开发过程中,我们经常需要管理和维护应用的状态。Vuex作为一个专为Vue.js设计的状态管理模式和库,为我们提供了一种集中式存储管理所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。 在Vuex中,除了state、mutations、actions之外,还有getters...

在Vue.js的开发过程中,我们经常需要管理和维护应用的状态。Vuex作为一个专为Vue.js设计的状态管理模式和库,为我们提供了一种集中式存储管理所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。

Vuex中getter对象的值居然可以这样轻松获取

在Vuex中,除了state、mutations、actions之外,还有getters。它们就像计算属性一样,能够在内部进行一些逻辑处理后返回一个值。这个值会根据它的依赖进行缓存。只有当它的相关依赖发生改变时才会重新求值。这使得我们可以创建更复杂的逻辑,而不必将其放在组件内部。

当我们需要在组件中使用getter中的值,可以通过以下方法来获取:

1. 通过`this.$store.getters.xxx`的方式获取getter的值。这种方式是直接从store实例上调用getters属性,然后传入对应的getter名字。

2. 使用`mapGetters`辅助函数。`mapGetters`可以将store中的getter映射到局部计算属性。这样,我们就可以像访问计算属性一样去访问getter。

```javascript

import { mapGetters } from 'vuex';

export default {

  computed: {

    ...mapGetters([

      'doneTodosCount', // 将 this.doneTodosCount 映射为 this.$store.getters.doneTodosCount

      'doneTodosPercentage' // 将 this.doneTodosPercentage 映射为 this.$store.getters.doneTodosPercentage

    ])

  },

  // ...

};

```

在上面的例子中,`doneTodosCount` 和 `doneTodosPercentage` 是我们在store中定义的getter,通过`mapGetters`,我们可以在组件中以计算属性的方式直接使用这两个getter。

需要注意的是,由于getter返回的是响应式的,所以我们在组件中可以像使用data或者computed属性一样去使用它。也就是说,只要getter所依赖的state发生了变化,getter就会重新计算,同时,使用了这个getter的组件也会自动更新。

通过Vuex的getters,我们可以将复杂的逻辑抽离出来,使其更加清晰和易于维护。同时,通过将getter映射到计算属性,我们可以在组件中方便地使用这些值,而不需要每次都去直接访问store。这不仅可以提高我们的开发效率,也可以使我们的代码更加优雅和高效。

  • 原标题:Vuex中getter对象的值居然可以这样轻松获取

  • 本文由 杜尔伯特蒙古族自治县纯量网络网小编,整理排版发布,转载请注明出处。部分文章图片来源于网络,如有侵权,请与纯量网络网联系删除。
  • 微信二维码

    CLWL6868

    长按复制微信号,添加好友

    微信联系

    在线咨询

    点击这里给我发消息QQ客服专员


    点击这里给我发消息电话客服专员


    在线咨询

    免费通话


    24h咨询☎️:132-5572-7217


    🔺🔺 棋牌游戏开发24H咨询电话 🔺🔺

    免费通话
    返回顶部