vuex中的getters

vuex中的getters与vue中的computed计算属性十分相似,在vuex中的Store仓库里,state就是用来存放数据,而getters类似于computed计算属性,也可以对数据进行处理,getters可以对store中的数据进行相应的处理,在调用getters时就会返回处理后的结果。

1.语法

//语法一
getters:{vName:function(state){},   //state传入的是vuex中的state对象vName2:function(state,getters){}  //getters传入的是getters对象
}//语法二
getters:{vName(state){},vName2(state,getters){}
}

2.示例

2.1 过滤小于5的数
const store = Vuex.Store({state:{lis:[1,2,3,4,5,6,7,8]},getters:{filtedList: state = >{return state.lis.filter(lisitem => lisitem > 5)}}});
2.2统计lis2的大于5的个数
const store = Vuex.Store({state:{lis:[1,2,3,4,5,6,7,8],lis2:[3,4,5,6,7,8,9]},getters:{filtedLis: state = >{return state.lis.filter(lisitem => lisitem > 5)},filtedLis2: state = >{return state.lis.filter(lisitem => lisitem > 5)},//通过getters获取getters中的其他数据getlisLength:(state,getters) =>{return getters.filtedLis2.length}}});
2.3过滤小于自定义的数

这里可能有点难懂,我逐步解析:$store.getters.filtedList返回的是一个函数,而函数接受一个num参数,而这个函数过滤掉了state中的lis中小于num的值。

  • $store.getters.filtedList 代表的是一个函数function(num)
  • $store.getters.filtedList(2) 调用函数function(num)并传入数字2
  • state.lis.filter(item => item >= num) 执行函数并过滤掉lis小于2的数据,并返回数组
<!--某组件用到这个$store.getters-->
<template><div><!--传入2,过滤小于2的数--><h1>{{$store.getters.filtedList(2)}}</h1></div>
</template>const store = Vuex.Store({state:{lis:[1,2,3,4,5,6,7,8]},getters:{filtedList(state){return function(num){return state.lis.filter(item => item >= num)}}}
});

vuex中的getters相关推荐

  1. Vuex中state,getters,mutations的使用方法以及辅助函数的原理

    Vuex是是一个程序里面的状态管理模式,它是集中式存储所有组件的状态的小仓库,并且保持我们存储的状态以一种可以预测的方式发生变化. state中存放的是全局变量,定义如下 state: {//存放全局 ...

  2. uniapp、vue,vuex中state改变,getters不动态改变的完美解决方案!

    uniapp.vue,vuex中state改变,getters不动态改变的完美解决方案! 参考文章: (1)uniapp.vue,vuex中state改变,getters不动态改变的完美解决方案! ( ...

  3. 070——VUE中vuex之使用getters计算每一件购物车中商品的总价

    <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8" ...

  4. vue之mapMutaions的使用 vuex中 action 用法示例 api.js的使用

    vue之mapMutations的使用 我们通过Mutation来改变store中的state,方法往往是在子组件中使用 this.$store.commit(); 来实现,但是这样的缺点是不容易查看 ...

  5. 4.vuex学习之getters、mapGetters

    gettters可以理解为计算属性 在store.js中 import Vue from 'vue' import Vuex from 'vuex'Vue.use(Vuex)//访问状态对象 cons ...

  6. Vuex中的核心方法

    Vuex中的核心方法 Vuex是一个专为Vue.js应用程序开发的状态管理模式,其采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化.每一个Vuex应用的核心就是 ...

  7. vue 将数据保存到vuex中

    在项目中遇到这样一个问题,就是在登入的时候同时需要从后台获取到左边的导航,但是如果使用h5的localStorage来保存导航信息,会出现app加载进去之后localStorage才保存进浏览器,在m ...

  8. [vue] Vuex中四个map方法的使用 mapState mapGetters mapActions mapMutations

    1. mapState方法: 用于帮助我们映射state中的数据为计算属性 computed: {//借助mapState生成计算属性:sum.school.subject(对象写法)...mapSt ...

  9. Vuex中的Getter的使用

    1.Getter的作用 1.传入一个参数(state) 在getter中接受的第一个参数是Vuex中的state 有时候,我们需要从store中获取一些state变异后的状态 getters: {po ...

最新文章

  1. 深度学习(十二)稀疏自编码
  2. 服务器修改数据库值,服务器上怎么修改数据库内存
  3. Linux中vim编辑器的缩进的功能键
  4. 通过path绘制点击区域
  5. 使用@Order调整配置类加载顺序
  6. 翻译:Docker方式安装redmine
  7. angular 字符串转换成数字_Angular日期在TypeScript中格式化转换应用
  8. python rpa库_Automagica python RPA库实践
  9. 安装pycrypto 2.6.1各种坑
  10. 【渝粤教育】国家开放大学2018年春季 3924T★汽车电器设备构造与检修 参考试题
  11. mysql集群系统_轻松构建Mysql高可用集群系统
  12. VB连接数据库SQL sever
  13. Linux动态库和静态库
  14. 如何使用U盘重装系统?
  15. 那些年,我们一起喜欢的诺基亚
  16. 0x0000050蓝屏srvsys_蓝屏代码0x00000050的原因及解决方法
  17. 用java实现四色定理
  18. 公司小白熟悉苹果Mac常用简单操作
  19. zbb20180930 设计模式-单例模式
  20. Oracle篇--04 Oracle SQL高级查询、分页查询

热门文章

  1. Weex Workshop 挑战赛,等你来战!
  2. CSS基础篇--强制性换行word-break与word-wrap的使用
  3. Reveal使用心法
  4. 【Oracle认证必读】常见问题解答
  5. 今天又听了蓝色的缘分
  6. 网站高并发及高并发架构详解
  7. 如何快速测试与数据库的连接并得到连接字符串
  8. JAVA中char和string的区别
  9. 网络中的七层协议与TCP/IP五层模型
  10. mysql float的缺点 (不适用于高精度数据)