zoukankan      html  css  js  c++  java
  • Vuex 第4节 getters计算过滤操作

    Vuex 第4节 getters计算过滤操作


    第4节 getters计算过滤操作

    getters从表面是获得的意思,可以把他看作在获取数据之前进行的一种再编辑,相当于对数据的一个过滤和加工。你可以把它看作store.js的计算属性。

    getters基本用法

    比如我们现在要对store.js文件中的count进行一个计算属性的操作,就是在它输出前,给它加上100。

    我们首先要在store.js里用const声明我们的getters属性。

    const getters={
        count:function(state){
            return state.count+=100;
        }
    }
    

    写好了getters之后,我们还需要在Vuex.Store()里引入,由于之前我们已经引入了statemutations,所以引入里有三个引入属性。代码如下:

    export default new Vuex.Store({
        state,mutations,getters
    })
    

    在```store.js``里的配置算是完成了,我们需要到模板页对computed进行配置。在vue 的构造器里边只能有一个computed属性,如果你写多个,只有最后一个computed属性可用,所以要对上节课写的computed属性进行一个改造。改造时我们使用ES6中的扩展运算符”…”。

    computed:{
    	...mapState(['count']),
        count(){
    	    return this.$store.getters.count;
        }    
    },
    

    需要注意的是,你写了这个配置后,在每次count 的值发生变化的时候,都会进行加100的操作。
    你看,我们一开始打开页面就从以前的1变成了101:

    用mapGetters简化模板写法

    我们都知道state和mutations都有map的引用方法把我们模板中的编码进行简化,我们的getters也是有的,我们来看一下代码。

    首先用import引入我们的mapGetters

    import { mapState,mapMutations,mapGetters } from 'vuex';
    

    在computed属性中加入mapGetters

        computed:{
            ...mapState(['count']),
            // count(){
            //     return this.$store.getters.count;
            // }    
            ...mapGetters(['count'])
        },
    

    这样就ok了

  • 相关阅读:
    Servlet中request乱码问题解决
    java对cookie的操作
    EL表达式
    MYSQL安装以及卸载 -- WINDOWS
    java接口
    HttpClient配置及运用(二)
    JVM的内存空间
    孤寂的欢愉
    论神性与人性
    使用NPOI读取Excel出错
  • 原文地址:https://www.cnblogs.com/Elva3zora/p/12714535.html
Copyright © 2011-2022 走看看