getter这个概念其实我们写的时候感觉好像和Mutations修改状态一样,实际上它们是有区别的:
getters比较死板,如果你的百度钱包只有在金额为100才能提现,那么你在写提现页面,它是早已固定好的,而Mutation不一样,当你点击百度钱包提现,你哪怕是一元,它只要你点击了便可以提现,而且getters它是不需要什么点击,它就存在,只要你写了,这是什么意思,就是说假设你百度钱包为0,你存在了getter它就有100元,而你如果写许多百度经验,百度再次发红包0.5元时它就是100+0.5+100
下面我具体介绍它的用法
第一步 在store.js里用const声明我们的getters属性
代码如下:
const getters={ num:function(state){ return state.num+=100; } }
注:如果读者不知道store.js就是我们写vuex共用的js
第二步 在Vuex.Store()里引入getter
代码如下:
export default new Vuex.Store({ state, mutations, getters,/*只关注此栏*/ actions })
第三步 在你自己创建的组件例如a.vue中computed里面进行配置
<script> import store from '@/store' import {mapState,mapMutations} from 'vuex' export default{ data(){ return{ } }, computed:{ /*只关注此栏这里面采用es6的拓展运算符*/ ...mapState(["num"]), num(){ return this.$store.getters.num; } }, store } </script>
注:如果你不了解es6的运算符也没关系,你只要知道在里面无论你写多少state变量都没关系即可,包括getter的方法等等,再次要注意return一定要写否则报错。
第四步 在你自己创建的模板中引入测试代码
代码如下:
<div> {{num}} </div>
你看一下num为多少?
注:
store.js补充部分:
import Vue from 'vue' import Vuex from 'vuex' Vue.use(Vuex) const state={//状态对象 num:0, }, const getters={ age:function(state){ return state.num+=100; }, export default new Vuex.Store({ state, mutations, getters, actions })
注:如果你看到了100,那就说明你成功,然后你在你自己创建的模板中试一试加一个button点击事件再次观察结果看看
代码补充部分如下:
1)在store.js中添加如下代码
const mutations={//触发状态
jia(state){ state.num+=0.5 }, }
2)在你自己的组件a.vue中添加如下代码
模板部分:
<div> {{num}} </div> <button @click="jia">+</button> </div>
script部分:
methods:mapMutations([ 'jia', ]),
观察结果如果为200.5则成功。
以上这篇对vuex中getters计算过滤操作详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
更新日志
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]