说明

  • 使用vue,如果想对data数据派生一些状态,我们就用到计算属性或者侦听器,同样vux想要派生state中的一些状态,可以在store中定义一个getters属性,它相当于state的计算属性。只有它的依赖发生改变了,它的值才会被重新计算。

基本使用

  • 使用起来也非常的简单,第一个参数默认为state,第二个参数即为自己getters,通过这两个参数,我们可以访问state以及getters的数据。通过return返回计算的的结果即可,此时子组件可以通过$store.getters.xxx 访问此属性了
    var store = new Vuex.Store({
state:{
count: 0,
msg: '你妈在哪里',
msg1: '在家'
}, getters: {
msgFilter: (state, getters) =>{
return state.msg.replace('你妈', '妈妈')
}
}
})
//App组件
<template>
<div>
<h2>App组件</h2>
//这里输出 妈妈在哪里
<h3>{{$store.getters.msgFilter}}</h3>
</div>
</template>
  • 返回一个方法

    • 有时候我们需要根据用户传入的值来返回特定的状态,此时我们可以让getters返回一个方法,可以向该方法传入我们的需要的数据。可以传入多个参数。
    getters: {
msgFilter: (state, getters) =>{
return state.msg.replace('你妈', '妈妈')
}, anwserMsg: state => (msg1, msg2) =>{
return msg1 + + msg2
} } //App组件
//打印 妈妈说:我在家,你在哪里?
<h3>妈妈说:{{ $store.getters.anwserMsg('我在家,', '你在哪里?')}}</h3>
  • 通过mapGetters映射成局部的computed

    • 与mapState一样,需要改名字,就传入一个对象,否则传入一个数组
  computed: {
//把msgFilter 修改成了 msg1
// anwserMsg 修改成了 msg2
...mapGetters({
msg1: 'msgFilter',
msg2: 'anwserMsg'
}), //默认原来的名字
...mapGetters([
'msgFilter',
'anwserMsg'
])
}
  • 注意: 它与state一样,不能直接在子组件里面修改它值,只能通过提交的方式来修改它的值。

vuex之getter(二)的更多相关文章

  1. Vuex基础-Getter

    官方地址:https://vuex.vuejs.org/zh/guide/getters.html Vuex 允许我们在 store 中定义“getter”(可以认为是 store 的计算属性).就像 ...

  2. vuex学习(二)

    参考:https://segmentfault.com/a/1190000015782272 vue 2.0+ 你的vue-cli项目中安装 vuex : npm install vuex --sav ...

  3. vuex的使用二

    1.先看项目的目录结构 2.在main.js里需要引入store这个文件并挂在实例上 import store from './store/store' ............ new Vue({ ...

  4. 从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 二十三║Vue实战:Vuex 其实很简单

    前言 哈喽大家周五好,马上又是一个周末了,下周就是中秋了,下下周就是国庆啦,这里先祝福大家一个比一个假日嗨皮啦~~转眼我们的专题已经写了第 23 篇了,好几次都坚持不下去想要中断,不过每当看到群里的交 ...

  5. vuex 源码解析(三) getter属性详解

    有时候我们需要从store中的state中派生出一些状态,例如: <div id="app"> <p>{{reverseMessage}}</p> ...

  6. Vuex之store仓库计算属性Getter

    (1)简介 Getter相当于vue中的computed计算属性,getter 的返回值会根据它的依赖被缓存起来,且只有当它的依赖值发生了改变才会被重新计算,这里可以通过定义vuex的Getter来获 ...

  7. Vuex以及axios

    Vuex 简介 vuex是一个专门为Vue.js设计的集中式状态管理架构. 状态? 我们把它理解为在data中需要共享给其他组件使用的部分. Vuex和单纯的全局对象有以下不同: 1.Vuex 的状态 ...

  8. Vuex状态管理模式的面试题及答案

    转载:点击查看原文 1.vuex有哪几种属性? 答:有五种,分别是 State. Getter.Mutation .Action. Module 2.vuex的State特性是? 答: 一.Vuex就 ...

  9. Vuex以及axios 看这个

      vuex  -- 安装   npm i vuex  -- 配置   -- 导入vuex      import vuex from "vuex"   -- vue使用vuex  ...

随机推荐

  1. ArrayList数组扩容方式(基于jdk1.8)

    ArrayList无参构造函数为: public ArrayList() { this.elementData = DEFAULTCAPACITY_EMPTY_ELEMENTDATA; } 而DEFA ...

  2. 从零开始のcocos2dx生活(七)ParticleSystem

    CCParticleSystem是用来设置粒子效果的类 1.粒子分为两种模式:重力模式 和 半径模式 重力模式独占属性: gravity 重力方向,Vec2类型,可以分别指定不同方向的重力大小 spe ...

  3. 【题解】HDU4689 Derangement(有技巧的计数DP)

    [题解]HDU4689 Derangement(有技巧的计数DP) 传送门 呵呵没告诉我多测组数,然后\(n\le 20,7000\mathrm{ms}\)我写了个状压上去T了 题目大意: 要你求错排 ...

  4. [系列] Go 如何解析 JSON 数据?

    概述 最近掉进需求坑了,刚爬上来,评估排期出现了严重问题,下面三张图很符合当时的心境. 谈需求 估排期 开始干 为啥会这样,我简单总结了下: 与第三方对接. 跨团队对接. 首次用 Go 做项目. 业务 ...

  5. 小小知识点(三十七)OFDM和OFDMA的区别以及OFDMA与SC-FDMA的区别

    OFDM和OFDMA的区别 OFDM(orthogonal frequency division multiplexing),which assigns one block (in time ) to ...

  6. Jmeter基础学习-下载及安装

    1. Jmeter下载路径:http://jmeter.apache.org/download_jmeter.cgi 进入Jmeter下载界面后英语不好+技术不灵的同学会蒙圈,下载那个呢? *Bina ...

  7. 单机Web后端接口服务压力测试

    单机Web后端接口服务压力测试 工具:Apache jmeter 环境:Window 10 语言:Kotlin + java 架构:SpringBoot + + Mysql + redis + Spr ...

  8. 在Windows Server 2003中搭建DNS服务器

    1.安装Windows Server 2003虚拟机 准备好Windows Server 2003的镜像:http://www.downza.cn/soft/184944.html 2.Windows ...

  9. schedule of 2016-10-09~2016-10-16(Sunday~Sunday)——1st semester of 2nd Grade

    most important things to do 1.prepare for toefl 2.joint phd preparations 3.ieee trans thesis to writ ...

  10. Qt中设置窗口图标

    转:https://blog.csdn.net/weiren2006/article/details/7438028 1.通过qtcreator新建一个文件filename.qrc,将图片添加到fil ...