vuex之getter(二)
说明
- 使用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(二)的更多相关文章
- Vuex基础-Getter
官方地址:https://vuex.vuejs.org/zh/guide/getters.html Vuex 允许我们在 store 中定义“getter”(可以认为是 store 的计算属性).就像 ...
- vuex学习(二)
参考:https://segmentfault.com/a/1190000015782272 vue 2.0+ 你的vue-cli项目中安装 vuex : npm install vuex --sav ...
- vuex的使用二
1.先看项目的目录结构 2.在main.js里需要引入store这个文件并挂在实例上 import store from './store/store' ............ new Vue({ ...
- 从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 二十三║Vue实战:Vuex 其实很简单
前言 哈喽大家周五好,马上又是一个周末了,下周就是中秋了,下下周就是国庆啦,这里先祝福大家一个比一个假日嗨皮啦~~转眼我们的专题已经写了第 23 篇了,好几次都坚持不下去想要中断,不过每当看到群里的交 ...
- vuex 源码解析(三) getter属性详解
有时候我们需要从store中的state中派生出一些状态,例如: <div id="app"> <p>{{reverseMessage}}</p> ...
- Vuex之store仓库计算属性Getter
(1)简介 Getter相当于vue中的computed计算属性,getter 的返回值会根据它的依赖被缓存起来,且只有当它的依赖值发生了改变才会被重新计算,这里可以通过定义vuex的Getter来获 ...
- Vuex以及axios
Vuex 简介 vuex是一个专门为Vue.js设计的集中式状态管理架构. 状态? 我们把它理解为在data中需要共享给其他组件使用的部分. Vuex和单纯的全局对象有以下不同: 1.Vuex 的状态 ...
- Vuex状态管理模式的面试题及答案
转载:点击查看原文 1.vuex有哪几种属性? 答:有五种,分别是 State. Getter.Mutation .Action. Module 2.vuex的State特性是? 答: 一.Vuex就 ...
- Vuex以及axios 看这个
vuex -- 安装 npm i vuex -- 配置 -- 导入vuex import vuex from "vuex" -- vue使用vuex ...
随机推荐
- FPM简介(定制rpm包)
FPM简介 fpm是生成rpm包的工具.rpm包的制作,采用fpm工具完成,FPM非常易用,此命令可以把rpm包的安装.卸载做得更加优雅,在安装前可以做一些准备工作,安装后可以做一些收尾工作,在卸载前 ...
- iOS定位权限请求时易犯的错误小结
起因 用户群反馈app可能请求了不合适的定位权限:始终定位. 看到这个截图,根据经验判断可能是后台定位功能导致可能不得不请求始终定位权限.再加上之前提交审核时,苹果要求在plist文件中新增NSLoc ...
- Python 元类的基本介绍及使用
一.什么是元类 二.如何使用元类 (一)不依赖class关键字创建一个自定义类 (二)自定义元类控制类的产生 (三)自定义元类控制类的调用 一.什么是元类 在python中,一切皆对象,而对象都是由类 ...
- 1shell基础,变量,运算符
1shell基础语法 是一个命令解释器,在操作系统的最外层,负责直接与用户进行对话. 我们输入的命令,计算机时不识别的,这时就需要一种程序来帮助我们进行翻译,变成计算机能识别的二进制程序,同时把计算机 ...
- $exLucas$学习笔记
本来不打算写了的,,,但是感$jio$理解起来还是有点儿难度的来着,,,$so$还是瞎写点儿趴$QAQ$ $exLucas$主要有三步: 1)唯一分解$mod$并预处理$p^{k}$以内的阶乘 2)计 ...
- Redo与Undo的理解
本文概要本文的原意是一篇个人学习笔记,为了避免成为草草记录一下的流水账,尝试从给人介绍的角度开写.但在整理的过程中,越来越感觉力不从心,一是细节太多了,原以为足够了解的一个小知识点下可能隐藏了很多细节 ...
- HDU3709 Balanced Number 题解 数位DP
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3709 题目大意: 求区间 \([x, y]\) 范围内"平衡数"的数量. 所谓平衡 ...
- Kubernetes资源与对象简述
资料 k8s基本对象概念 背景 资源和对象 Kubernetes 中的所有内容都被抽象为"资源",如 Pod.Service.Node 等都是资源."对象" ...
- Go Web 编程之 Hello World
概述 计划写一个讲 Go Web 编程的系列文章.从基于 net/http 包编写 Go Web 程序开始,讲述处理器,请求,响应等基础知识.然后到框架的使用.中间会穿插一些源码的分析.最后做一个实战 ...
- 【转】ArcGIS Server 10.1 动态图层
ArcGISServer将GIS资源以服务的方式发布,能够让更多的人在Web上浏览.使用.不过,诸如气象.环保等方面的信息是实时变化的,按照之前常规的方法,我们先要将最新获得的信息组织成地图文档后再对 ...