博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
真正掌握vuex的使用方法(四)
阅读量:6302 次
发布时间:2019-06-22

本文共 2412 字,大约阅读时间需要 8 分钟。

接下来看一下template当中计算总票数的表达式:

总票数:{
{nodeVoteCount+vueVoteCount}}

是不是很长?是不是看着它很蓝瘦? 

正常的第一反应就是将其写入到计算属性内,方便调用!所以咱们可以将computed调整如下:

computed:{    ...mapState(["nodeVoteCount","vueVoteCount"]),    ...{        sumCount(){
//计算属性,求两个票数之和 return this.nodeVoteCount+this.vueVoteCount; } }}

然后再将template的总票数表达式修改为:

总票数:{
{sumCount}}

是不是有种整个世界都很清静的感脚?哈,还没完,继续! 

在咱们的vuex当中,有一个和vue中的computed类似,都是用来计算state然后生成新的状态(数据)的,请记住它的名字叫做——getters。 
打开store.js为其添加一常量getters:

//getters为vuex当中的计算属性const getters={    //求总票数之和    sumCount(state){
//state即是存储状态的对象 return state.nodeVoteCount+state.vueVoteCount }}

然后将这个常量放入到Store当中,最终的store.js为:

import Vue from 'vue';//引用vueimport Vuex from 'vuex';//引用vuexVue.use(Vuex);//使用vuexconst state={    nodeVoteCount:1,//node的初始票数    vueVoteCount:2,//vue的初始票数};//生明一个常量mutations,将所有的mutation放入其中const mutations={    //为nodeVoteCount加1,voteNum为增加的值,默认加1    ADDNODEVOTE(state,voteNum=1){
//这里的state即是上面定义的state常量 state.nodeVoteCount+=voteNum; }, //为vueVoteCount加1,voteNum为增加的值,默认加1 ADDVUEVOTE(state,voteNum=1){
//这里的state即是上面定义的state常量 state.vueVoteCount+=voteNum;; }}//getters为vuex当中的计算属性const getters={ sumCount(state){
//state即是存储状态的对象 return state.nodeVoteCount+state.vueVoteCount }}export default new Vuex.Store({
//暴露Store对象 state, mutations,//将mutations进行暴露 getters//将getters常量放入到Store当中})

最后一步,在App.vue当中通过$store.getters调用一下sumCount即可,调用方法:

总票数:{
{$store.getters.sumCount}}

当然,调用getter也有简写的形式,比如我要将上面代码改写成:

总票数:{
{sumCount}}

那么就需要在计算属性内进行一些设置 

首先在引入vuex时,添加mapGetters:

import {mapState,mapMutations,mapGetters} from "vuex";

然后将mapGetters添加到computed中:

computed:{    ...mapState(["nodeVoteCount","vueVoteCount"]),    ...mapGetters(["sumCount"]),//需要的getter为sumCount}

修改后的完整App.vue:

 

转载于:https://www.cnblogs.com/catbrother/p/9397336.html

你可能感兴趣的文章
模版方法模式--实现的capp流程创建与管理
查看>>
软件需求分析的重要性
查看>>
eclipse的scala环境搭建
查看>>
UVA465:Overflow
查看>>
HTML5-placeholder属性
查看>>
Android选择本地图片过大程序停止的经历
查看>>
poj 2187:Beauty Contest(旋转卡壳)
查看>>
《Flask Web开发》里的坑
查看>>
Python-库安装
查看>>
Git笔记
查看>>
普通人如何从平庸到优秀,在到卓越
查看>>
SLAM数据集
查看>>
c#学习笔记05——数组&集合
查看>>
【图论算法】Dijstra&BFS
查看>>
注册和上传文件(头像)
查看>>
使用OVS
查看>>
键盘回收的几种方法
查看>>
Python(条件判断和循环)
查看>>
day4 linux安装python
查看>>
LeetCode Container With Most Water (Two Pointers)
查看>>