VueX 未检测到变化

问题描述 投票:0回答:1

我有一个对象,它有两个层次的深度与其他两个对象。

$store.state.object.level1.level2 

第一层和第二层都是动态的,我需要检测它们何时被定义在一个对象上。v-if:

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

语句在Level1被定义时有效,但在Level2被定义时无效。

谁能解释一下这是为什么?

vue.js vuex
1个回答
0
投票

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

这解决了我的所有问题,让我的观点更新,但不知何故,我有一种感觉,有一个比这更好的解决方案。

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

Vue.set($store.state.object.level1, 'level2', newValueForLevel2)
© www.soinside.com 2019 - 2024. All rights reserved.