VueJS - 在子组件修改道具数据后更新父计算 属性

VueJS - Update a parent computed property after a child component modifies prop data

我有一个比较复杂的API请求对象需要制作,有大量UI组件负责更新对象的不同属性。

我将基本请求模型作为 prop 从父组件传递给它的子组件,子组件将它传递给他们的子组件(向下几代)。

在父级别,我有一个计算的 属性 那个 returns 这个数据模型的一个字段,以及一个监视那个计算的 属性.

当子组件更新模型上的 属性 时,它成功地更新了所有引用它的地方,但是父组件上计算的 属性 无法重新计算,结果 watch从不激活。

我猜我错过了这里的某个地方,但我想不出如果不通过 UI 求助于长事件链,还有什么方法可以更新。我应该如何处理这个呢?

对于有类似问题的任何人 - 从我的研究来看,修改道具的参考值似乎不是 VueJS 的预期方法。真遗憾,因为最初它看起来是一个非常整洁的模式。

我现在已经实现了 vuex,它运行良好,并且避免了返回到 prop 数据的原始所有者的长行事件。

如果你想按下它,那么修改对象本身的引用将强制更新链。所以(例如)如果你想更新 prop 数据的数组 属性,那么与其“推送”它,不如替换整个数组对象(导致其他组件在该数组上具有计算属性 属性 重新计算)。但同样,不推荐。