黄子涵

查漏补缺——说说VueX里的dispatch方法

问题

如题所示

答案

相关源码:

created(){
            this.getSocial();
            this.$store.dispatch('initComputeTime');
        }

vue dispatch用法_Vuex基本用法

Vue进阶(二十四):vuex 之 commit 和dispatch

这里的dispatch方法是一个异步的方法,通过它可以将initComputeTime分发到VueX的actions属性中,在actions属性的内容是这样的:

const actions = {
    initComputeTime: ({commit}) => {
        commit('GET_RUNTIME_INTERVAL');
    },
}

查漏补缺——说说Vuex的commit函数

这里的commit函数会触发GET_RUNTIME_INTERVAL这个函数的执行:

const mutations = {
    GET_RUNTIME_INTERVAL: (state) => {
        if (!timer || !state.runTimeInterval) {
            clearInterval(timer)
            timer = setInterval(() => {
                state.runTimeInterval = getTimeInterval(runAt);
            }, 1000);
        }
    }
}

GET_RUNTIME_INTERVAL函数的参数是state,然后就在这个函数里对state状态属性进行修改。

posted @ 2022-07-05 16:07  黄子涵  阅读(1519)  评论(0编辑  收藏  举报