Vuex中的突变数组棘手问题,如何解决?

时间:2019-07-12 09:51:26

标签: arrays vue.js vuex

我有一些异步操作,这些操作从服务器获取数据(对象数组)并使用此数据进行更改。然后,在我的变异中,我推送数据进行存储。 我的第一次尝试是ES6-ish:

state.data = [...state.data, ...payload];

使用控制台对状态进行故障排除我看到新状态包含205个元素,应该是怎样的。但是,如果我直接从Vuex devtools检查状态-长度为0。

好吧,也许是解构之类的问题。

state.data = payload;

也不起作用。因此,我第三次尝试是最愚蠢的:

payload.forEach(x => x.state.data.push(x));

而且...有效。但是,这花了很多时间,(Carl只有205个元素!) 所以,我的问题-> Vue / Vuex怎么了?

1 个答案:

答案 0 :(得分:0)

您可以使用Vue.set()功能。

在您的变异方法中执行以下操作:

Vue.set(state, 'data', payload);

Documentation