【问题标题】:Tricky problem with mutations arrays in Vuex, how to solve?Vuex中突变数组的棘手问题,如何解决?
【发布时间】:2023-04-04 04:25:01
【问题描述】:

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

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

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

好的,可能是解构或其他问题。

state.data = payload;

也不行。所以,我的第三次尝试是有史以来最愚蠢的:

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

而且……它奏效了。但是,这需要时间,就像很多一样(只有 205 个元素,Carl!) 所以,我的问题 -> Vue/Vuex 有什么问题?

【问题讨论】:

标签: arrays vue.js vuex


【解决方案1】:

您可以使用Vue.set() 函数。

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

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

Documentation

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-16
    • 2011-07-19
    相关资源
    最近更新 更多