Vuex使用键访问处于状态的对象

时间:2020-08-16 11:45:05

标签: vue.js vuex

我在Vuex中的商店有这样的代码,如果这样做的话,下面的代码可以正常工作。

products

但是,如果我尝试使用键来设置并获取值,它将在吸气剂中返回state: { APIData: {}, }, getters: { getFeed: state => {return state.APIData }, }, mutations: { SET_FEED_DATA(state, {folder_id, data}) { state.APIData = data } }, 。我想这样做是因为我的模板中有一个for循环,它多次调用一个动作,但是具有不同的ID,我将在此处将其用作键值。

undefined

修改

在Vue调试器中,我发现了以下内容,因此似乎该突变正在设置数据,但getter可以访问它。

enter image description here

1 个答案:

答案 0 :(得分:2)

在突变中,尝试如下进行设置:

state.APIData = { ...state.APIData, test: data };

该吸气剂用于APIData,如果直接更新单个属性,它将无法识别更改。您需要重置整个APIData对象。

用变量替换测试:

state.APIData = { ...state.APIData, [VARIABLE_NAME]: data };

例如,如果要在代码中将键名传递为folder_id

state.APIData = { ...state.APIData, [folder_id]: data };