Vuex 基本使用

1、index.js

复制代码
import Vue from "vue";
import Vuex from "vuex"

// 使用Vuex
Vue.use(Vuex)

// 准备actions对象--响应组件中的动作
const actions = {
    addOdd(context, value){
        if(context.state.sum % 2){
            context.commit('ADD', value)
        }
    },
}
// 准备mutations对象--修改state中的数据
const mutations = {
    ADD(state, value){
        // console.log(state.sum, value)
        state.sum += value
    },
}
//准备state对象--保存具体数据
const state = {
    sum:0
}

//创建并暴露store
export default new Vuex.Store({
    actions,
    mutations,
    state
})
复制代码

2、组件读取Vuex中数据(vuex):$store.state.sum

3、组件中修改vuex中的数据

$store.dispatch('action中的方法', 数据)
$store.commit('mutations中的方法', 数据)

若没有其他业务逻辑,组件也可以越过actions,即不写dispatch,直接写commit

 

 

理解

1、在state中存数据在vue模板上 $store.state.sum

2、this.$store.dispatch('add', value)   dispatch -> action对象

3、在action对象中定义方法 add(context, value){ context.commit('ADD', value) } commit-> mutations对象,action写业务逻辑

4、在mutations对象中完成逻辑 ADD(state, value){}  state.sum(获取state中的sum),value是最开始传进来的值

5、没有用到action可以直接 this,$store.commit()

6、注意:在mutations中方法用大写

posted @   市丸银  阅读(2)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
历史上的今天:
2020-01-07 java intellij 工具的简单用法
点击右上角即可分享
微信分享提示