首页 > 解决方案 > Vuex:使用突变变量设置状态对象

问题描述

我有以下vuex商店:

import Vuex from "vuex";
import Vue from "vue";

Vue.use(Vuex);

export const store = new Vuex.Store({
    state: {
        myvalue: "test",
        mycount: 0
    },
    mutations: {
        setValue(state, newValue) {
            state.myvalue= newValue;
        }
    }
});

我想稍微调整一下setValue突变,以便我可以使用相同的突变来改变多个状态。我将我的突变更改为:

mutations: {
    setValue(state, {item, newValue}) {
        state[item] = newValue;
    }
}

然后,在我的组件中,我执行以下操作:

this.$store.commit('setValue', {'myvalue', 'newtest'});

但这并不能解决问题。有什么想法吗?

编辑

感谢@thanksd的解决方案:

this.$store.commit('setValue', { item: 'myvalue', newValue: 'newtest' })

标签: javascriptvue.jsvuex

解决方案


推荐阅读