VueX未检测到更改

时间:2020-04-26 19:43:54

标签: vue.js vuex

我有一个与其他两个对象具有两个深度级别的对象:

$store.state.object.level1.level2 

第一级和第二级都是动态的,我需要检测它们在v-if中的定义时间:

<Component v-if="$store.state.object.level1 && $store.state.object.level1.level2">

该语句在定义Level1时起作用,而在定义Level2时不起作用。

有人可以解释为什么吗?

1 个答案:

答案 0 :(得分:0)

不管是好是坏(可能更糟),我已经停止使用state.x = newX更新状态,并开始使用Vue.set(state, 'x', newX)

这通过更新视图解决了我所有的问题,但是不知何故,我感觉有比这更好的解决方案。

所以在您的情况下,我会写这个

Vue.set($store.state.object.level1, 'level2', newValueForLevel2)