【发布时间】:2021-11-26 13:18:56
【问题描述】:
我使用一个连接到 vuex 存储的可排序列表并得到它:
let nested = computed({
get: () => {
return store.getters.getItems;
}
});
当现在改变元素的顺序时,商店应该做出反应。在商店内执行console.log 时,例如:
console.log(state.line_items_attributes.nested_form);
var temp = cloneDeep(data.nested_form);
state.line_items_attributes.nested_form = temp;
console.log(state.line_items_attributes.nested_form);
赋值前后的值完全相同。
因此,我是否使用该突变并不重要。但是当删除它,然后刷新页面时,商店又回到了重新排列列表元素之前的状态。
【问题讨论】:
-
如果
CHECK_ORDER是您在操作中使用的唯一突变,那么当您删除它时会发生什么? -
@StevenSiebert 我希望状态(列表)在没有该突变的情况下更新,这是它应该具有的反应性的原因。导致尽管将其记录到控制台,但该突变并没有做任何事情。
-
这不是你应该如何使用
vuex。您需要通过突变传递新状态,否则它不会被持久化。 -
@StevenSiebert 好的,那我就那样做。谢谢。就像我已经在问题中那样做就可以了吗?还是应该将新状态保存在单独的对象中?