一.什么是getters
在介绍state中我们了解到,在Store仓库里,state就是用来存放数据,若是对数据进行处理输出,比如数据要过滤,一般我们可以写到computed中。但是如果很多组件都使用这个过滤后的数据,比如饼状图组件和曲线图组件,我们是否可以把这个数据抽提出来共享?这就是getters存在的意义。我们可以认为,【getters】是store的计算属性。

二.操作

通过属性访问,通过方法访问:

在store\store.js

import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex) export default new Vuex.Store({
//创建一个对象来保存应用启动时的初始状态
state:{
// 应用启动时, count置为0
count:,
todos: [
{ id: , text: '水果类', done: true },
{ id: , text: '苹果', done: true },
{ id: , text: '苹果', done: false}
]
},
getters: {
doneTodos: state => {//通过方法访问
return state.todos.filter(todo => todo.done)
},
doneTodosCount: (state, getters) => {//通过属性访问
return getters.doneTodos.length
}
}
})

vueDome.vue

<template>
<div>
<P>通过属性访问:{{doneTodosCount}}</p>
<P>通过方法访问:{{todos}}</p>
</div>
</template> <script>
/*
1.mapState 辅助函数
当映射的计算属性的名称与 state 的子节点名称相同时,
我们也可以给 mapState 传一个字符串数组
*/
import { mapState } from 'vuex'
export default {
computed:{
todos:function() { //通过方法访问
return this.$store.getters.doneTodos;
},
doneTodosCount () {
return this.$store.getters.doneTodosCount
}
}
}
</script>

三.mapGetters 辅助函数

mapGetters 辅助函数仅仅是将 store 中的 getter 映射到局部计算属性:

<template>
<div>
<h4>测试1:Count is {{count}}</h4>
<P>通过属性访问:{{doneTodosCount}}</p>
<P>通过方法访问:{{doneTodos}}</p>
</div>
</template>
<script>
import {mapGetters} from 'vuex'
export default {
computed:{
count(){
return this.$store.state.count
},
...mapGetters([
'doneTodos',
'doneTodosCount'
])
}
}
</script>

效果同上。分析:1...mapGetters表示// 使用对象展开运算符将 getters 混入 computed 对象中

2.mapGetters里面的都是store.js里面的getters的方法名

Vuex之理解Getters的用法的更多相关文章

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

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

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

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

  3. 069——VUE中vuex之使用getters高效获取购物车商品总价

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

  4. vue学习笔记(五):对于vuex的理解 + 简单实例

    优点:通过定义和隔离状态管理中的各种概念并强制遵守一定的规则,我们的代码将会变得更结构化且易维护.使用vuex来引入外部状态管理,将业务逻辑切分到组件外,可以避免重复的从服务端抓取数据. 详情请参考官 ...

  5. 深度理解return具体用法

    ''' 下面我们来更加深度的理解return具体用法!!! return 默认返回None return 可以返回任意数据类型的数据 return 返回多个值的时候,会以元祖的形式把多个值包在一起 ' ...

  6. vuex深入理解 modules

    一.什么是module? 背景:在Vue中State使用是单一状态树结构,应该的所有的状态都放在state里面,如果项目比较复杂,那state是一个很大的对象,store对象也将对变得非常大,难于管理 ...

  7. vuex 深入理解

    参考自:https://mp.weixin.qq.com/s?src=11&timestamp=1528275978&ver=922&signature=ZeHPZ2ZrLir ...

  8. 关于vuex的理解

    刚开始学vue的时候,看到很多项目都有用vuex,抱着一种好奇的心态去看下vuex的官方文档,如下: Vuex官方文档 Vuex 是什么?Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式 ...

  9. vuex简单化理解和安装使用

     1.简单化理解 首先你要明白 vuex 的目的 就是为了 集中化的管理项目中 组件所有的 数据状态 (state) 0. 第一步你要明白 , store 的重要性 , store 类似一个中央基站, ...

随机推荐

  1. 让我头疼一下午的Excel合并单元格

    Excel导出常见问题 excel导出其实不算什么难事 在网上copy下模板代码,填充自己的业务数据,提供一个http接口基本就可以得到你要导出的数据了. 但是,凡事都有例外,截止今天,excel导出 ...

  2. Gradle 离线 安装

    第一步:下载gradle zip 文件 第二步:打开文件夹,例如:C:\Users\Administrator.gradle\wrapper\dists\gradle-3.3-all\55gk2rcm ...

  3. Vue Resource root options not used?

    I specify a root options in my Vue-Resource in my main.js file, but when I do the request, it does n ...

  4. golang:常量

    今天写代码的时候才发现,go语言里面的常量不能是数组(例如:[2]byte) 于是想查一下资料搞清楚到底是什么原因导致的,从effective go查到如下介绍: 但是这里也仅仅就是介绍了一下常量类型 ...

  5. Redis在C#中的使用及Redis的封装

    Redis是一款开源的.高性能的键-值存储(key-value store).它常被称作是一款数据结构服务器(data structure server).Redis的键值可以包括字符串(string ...

  6. 解决webdiyer:AspNetPager分页控件在IE模式下点击页号不能翻页的问题。

    在网站根目录下新建ie.browser文件, 然后用记事本打开. 将以下代码粘贴进去,保存即可,目的是让其与IE11的 UserAgent 匹配,使 .net framework 认识这是一个已知的浏 ...

  7. 一个有界任务队列的thradpoolexcutor, 直接捕获错误日志

    基于官方的需要改版 1.改为有界,官方是吧所有任务添加到线程池的queue队列中,这样内存会变大,也不符合分布式的逻辑(会把中间件的所有任务一次性取完,放到本地的queue队列中,导致分布式变差) 2 ...

  8. 24访问者模式Visitor

    一.什么是访问者模式 Visitor模式也叫访问者模式,是行为模式之一 ,它分离对象的数据和行为,使用Visitor模式, 可以不修改已有类的情况下,增加新的操作. 二.访问者模式的应用示例 比如有一 ...

  9. Unity长连接

    http://blog.csdn.net/claine/article/details/52374546

  10. linux内存和swap

    https://www.cnblogs.com/Zfc-Cjk/archive/2018/02/13/8447270.html