浅谈vuex使用方法(vuex简单实用方法)

Vuex 是什么?

Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的全部组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。Vuex 也集成到 Vue 的官方调试工具 devtools extension,提供了诸如零配置的 time-travel 调试、状态快照导入导出等高级调试功能。前端

以上是官方文档对xuex的定义,对于vuex的官方文档讲的很详细,可是对于一个前端菜鸟来讲,表示看不懂,看完事后很懵逼(好比小胖纸)。基础知识太薄弱,理解起来很费劲。可是有想用vuex作状态管理怎么办,只有想办法咯,慢慢磨出来的。vue

如下简述vuex的state,mutations,actions怎么配合使用,造成一个完整的流程,很简单的一个功能实现。git

目录结构:

主要经过配合使用store里面的 action Index mutation-types mutation.js的使用。github

 

isSelect 初始状态为 false ,点击肯定isSelect = true , 点击取消 isSelect  = false ;vuex

第一步: Index.js  异步

在state里面申明一个变量  is_select ,做为状态管理async

 

import Vue from "vue";
import Vuex from "vuex";
import mutations from "./mutations";
import actions from "./action";
import getters from "./getters";

Vue.use(Vuex)
//全部的状态树
const state = {
    is_select: false
};

export default new Vuex.Store({
    state,
    getters,
    actions,
    mutations,
})

第二步: 在 mutation.js  书写状态管理的逻辑函数函数

export default {
    /**
     * 书写全部的状态管理逻辑函数
     * Mutations必须是同步函数
     * @constructor
     */
    CHECH_SELECT(state,res){
        //写业务逻辑
        state.is_select = res;
        console.log(res)
    }
}

 第三步: 在 mutation-types.js  把在 mutation.js中写的函数抛出工具

//配置vuex调用的Mutations逻辑
export const CHECH_SELECT = 'CHECH_SELECT'

 第四步: 在 action.js  从定义的Mutations逻辑函数中取须要用到的逻辑函数this

import {CHECH_SELECT} from "./mutation-types.js"; //从定义的Mutations逻辑函数中取须要用到的逻辑函数
/**
 *Action 相似于 mutation,不一样在于:
 *Action 提交的是 mutation,而不是直接变动状态。
 * Action 能够包含任意异步操做。
 */
export default {
    async check_select({commit}, is_select) {
        commit(CHECH_SELECT, is_select)
    }
}

经过commit提交mutation来改变state中的 is_select 值的变化

 第五步:在 xxx.vue中实现点击肯定取消,来触发改变 is_select  的值 

 methods:{
            commits(){
                const _self = this;
                _self.$store.dispatch("check_select",true)
                        .then(function () {
                            _self.isSelect = _self.$store.state.is_select;
                        })
                
            },
            cancels(){
                const _self = this;
                _self.$store.dispatch("check_select",false)
                        .then(function () {
                            _self.isSelect = _self.$store.state.is_select;
                        })
            },
}

通过五个步骤,就能够完成一个炒鸡简单的经过vuex来进行的状态管理,以上仅仅是为了实现功能,想说出个因此然,但有理解太浅,只能实现功能,不清楚为何。接下来在深刻去了解,仔细品下官方文档。

相关文章
相关标签/搜索