首页 > 解决方案 > VueX 没有检测到变化

问题描述

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

$store.state.object.level1.level2 

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

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

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

有人可以解释这是为什么吗?

标签: vue.jsvuex

解决方案


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

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

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

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

推荐阅读