Vue学习笔记-Vuex基本使用

本文详细解释了如何在Vue应用中使用Vuex,包括初始化store、创建actions处理组件动作和mutations进行数据状态更新。介绍了actions和mutations的区别以及组件如何读写store中的数据。
摘要由CSDN通过智能技术生成

基本使用

  1. 初始化数据、配置actions、mutations,操作文件/store/index.js

    //index.js文件用于创建Vuex中最为核心的store对象
    import Vue from 'vue'
    import Vuex from 'vuex'
    Vue.use(Vuex)
    //actions对象用于响应组件中的动作,专门负责业务逻辑
    const actions = {
    	//函数声明完整写法,actions中的方法天生能够获取2类参数:
    	//其中context对象为上下文对象,用于调用commit方法,value为组件传递过来的参数
        'add':function (context,value){
            //为了区分actions和mutations中对应的方法,一般将mutations中的方法名设置为大写
            context.commit('ADD',value);
        },
        //函数声明简写形式
        decrement(context,value){
            context.commit('DECREMENT',value);
        },
    }
    //mutations对象用于操作数据state,该对象中的方法天生能够获取2类参数
    //其中state为state对象,用来存放Vuex中的数据,value为组件(或actions方法)传递过来的参数
    const mutations = {
        'ADD':function (state,value){
            //console.log('mutations中的ADD方法被调用了',state,value);
            state.sum+=value;
        },
        DECREMENT(state,value){
            state.sum-=value
        }
    }
    //用于存储数据
    const state = {
        sum:0,
    }
    
    }
    /*
        创建 并导出Store
    * (这里的options参数本质上要传入一个键值对对象,但如果键值对的k和v同名,则可以采用简写形式)
        必须先use Vuex,再创建Store
    * */
    export default new Vuex.Store({
        actions,
        mutations,
        state,
    })
    
    
  2. 组件中读取Vuex中的数据:$store.state.数据名

  3. 组件中修改Vuex中的数据$store.dispatch('action中的方法名',数据)或者$store.commit('mutations中的方法名',数据)

[备注]:actions对象中的方法一般涉及到业务逻辑的判断或者网络请求,而mutations中的方法一般直接操作数据,如果组件调用的方法不涉及网络请求或者业务逻辑判断(即方法比较简单无脑),则可越过actions,直接调用mutations中的方法(调用commit方法)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值