栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > Web开发 > Vue.js

Vuex 提升

Vue.js 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Vuex 提升

上一篇我们讲了如何通过一些简单的动作来改变 store.js 中的数据对象,在实际工作中,这是完全无法满足工作需求的,所以这篇我们来说说如何做一些简单的流程判断。

自制vuex LOGO


一、比如说我现在有这么个需求,当 count < 5 的时候,就停止 count-- 。这就需要用到 actions

actions 定义要执行的动作,如流程的判断、异步请求

store.js 内的 actions 中

// 定义 actions ,要执行的动作,如流程的判断、异步请求const actions ={
    increment({commit,state}){
        commit('increment') 
    },
    decrement({ commit, state }) {        // **通过动作改变的数据,在此处来做判断是否提交**
        if (state.count > 5) {
            commit('decrement')
        }
    }
}

运行项目


count--.gif

二、通过 actions 模拟异步请求1. 先在 App.vue 中定义好事件
2. 在 store.js 内的 actions 中添加 异步 Promise 事件
// 定义 actions ,要执行的动作,如流程的判断、异步请求const actions ={
    increment({commit,state}){
        commit('increment') 
    },
    decrement({ commit, state }) {        // **通过动作改变的数据,在此处来做判断是否提交**
        if (state.count > 5) {
            commit('decrement')
        }
    },
    incrementAsync({commit,state}){        // 模拟异步操作
        var a = new Promise((resolve,reject) => {
            setTimeout(() => {
                resolve();
            }, 3000);
        })        // 3 秒之后提交一次 increment ,也就是执行一次 increment 
        a.then(() => {
            commit('increment')
        }).catch(() => {            console.log('异步操作失败');
        })
    }
}

运行项目


异步.gif

三、获取数据状态

假如我们需要知道数据的奇偶数,那么就需要在 getters 中来判断。

getters 中可以获取经过处理后的数据,从而来判断状态

store.js 的 getters 中加入判断奇偶数的方法

var getters={
    count(state){        return state.count
    },
    EvenOrOdd(state){        return state.count%2==0 ? '偶数' : '奇数'
    }
}

App.vue 中加入

判断奇偶数.gif

如有不明白之处,还请留言交流,或者直接翻看 API



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/241428.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号