美文网首页
Vuex之getter

Vuex之getter

作者: wade3po | 来源:发表于2019-02-10 20:14 被阅读13次

Vuex提供给我们一个Getter方法,主要就是为了在数据派生一些状态,简单来说就是想要通过判断进行过滤。

比如有这样一个应用场景,我们有一个考试得分的数组,我们需要在很多页面使用,但是只显示不及格的,那么我们每个页面都要这样:

computed: { scoreArr(){ return this.$store.state.score.filter(item => item < 60) }},

或者:

computed: mapState({ score(state){ return state.score.filter(item => item < 60) }}),

反正要是很多地方用到,我们要么复制这个函数,或者抽取到一个共享函数然后在多处导入它,不是很理想,所以vuex提供了getter方法,在getters.js里面:

export default { scoreGetter (state){ return state.score.filter(item => item < 60) }}

然后就可以通过store.getters.scoreGetter去调用:

computed: { scoreGetter(){ return this.$store.getters.scoreGetter }},

getters也可以返回函数:

scoreGetter: (state) => { return (num) => { return state.score.filter(item => item < num) }}

调用:

computed: { scoreGetter(){ return this.$store.getters.scoreGetter(90) }},

相应的getter也有一个辅助函数mapGetters :

引入:

import { mapGetters } from 'vuex'

数组:

computed: { ...mapGetters([ 'scoreGetter', ])},

可以重命名,使用对象:

computed: { ...mapGetters({ newScore: 'scoreGetter' } )},

标签使用:

{{scoreGetter(90)}}

{{newScore(90)}}

方法里面使用:

this.scoreGetter(60)

this. newScore (60)

欢迎关注Coding个人笔记 公众号

相关文章

  • Vuex之Getter

    Vuex 允许我们在 store 中定义“getter”(可以认为是 store 的计算属性)。就像计算属性一样,...

  • Vuex之getter

    Vuex提供给我们一个Getter方法,主要就是为了在数据派生一些状态,简单来说就是想要通过判断进行过滤。 比如有...

  • getter

    getter vuex 的 '计算属性'

  • vuex Getter

    我们需要从store中的state中派生出一些状态,例如对列表进行过滤并计数: 多个组件需要用到此属性,我们要么复...

  • vuex之getter示例说明

  • Vuex教程全集 - 白话篇

    1、Vuex 到底是个什么鬼 2、Vuex旗下的State和Getter 3、Vuex旗下的Mutation 4、...

  • Vuex

    Vuex Vuex的核心是store,store包含着state(状态)、getter(计算属性)、mutatio...

  • vue状态管理模式vuex-Getter

    Getter简介 Vuex 允许我们在 store 中定义“getter”(可以认为是 store 的计算属性)。...

  • vuex getter and actions

    vuex 中的 getters 文档对于component 中 vuex 属性块的描述其中包括了对 getter ...

  • Vuex--Getter

    Getter 如果多个组件需要用到此属性,我们要么复制这个函数,要么抽取一个公共函数然后多出导入它。但Vuex允许...

网友评论

      本文标题:Vuex之getter

      本文链接:https://www.haomeiwen.com/subject/tqossqtx.html