VueJS - 在子组件修改道具数据后更新父计算 属性
VueJS - Update a parent computed property after a child component modifies prop data
我有一个比较复杂的API请求对象需要制作,有大量UI组件负责更新对象的不同属性。
我将基本请求模型作为 prop 从父组件传递给它的子组件,子组件将它传递给他们的子组件(向下几代)。
在父级别,我有一个计算的 属性 那个 returns 这个数据模型的一个字段,以及一个监视那个计算的 属性.
当子组件更新模型上的 属性 时,它成功地更新了所有引用它的地方,但是父组件上计算的 属性 无法重新计算,结果 watch从不激活。
我猜我错过了这里的某个地方,但我想不出如果不通过 UI 求助于长事件链,还有什么方法可以更新。我应该如何处理这个呢?
对于有类似问题的任何人 - 从我的研究来看,修改道具的参考值似乎不是 VueJS 的预期方法。真遗憾,因为最初它看起来是一个非常整洁的模式。
我现在已经实现了 vuex,它运行良好,并且避免了返回到 prop 数据的原始所有者的长行事件。
如果你想按下它,那么修改对象本身的引用将强制更新链。所以(例如)如果你想更新 prop 数据的数组 属性,那么与其“推送”它,不如替换整个数组对象(导致其他组件在该数组上具有计算属性 属性 重新计算)。但同样,不推荐。
我有一个比较复杂的API请求对象需要制作,有大量UI组件负责更新对象的不同属性。
我将基本请求模型作为 prop 从父组件传递给它的子组件,子组件将它传递给他们的子组件(向下几代)。
在父级别,我有一个计算的 属性 那个 returns 这个数据模型的一个字段,以及一个监视那个计算的 属性.
当子组件更新模型上的 属性 时,它成功地更新了所有引用它的地方,但是父组件上计算的 属性 无法重新计算,结果 watch从不激活。
我猜我错过了这里的某个地方,但我想不出如果不通过 UI 求助于长事件链,还有什么方法可以更新。我应该如何处理这个呢?
对于有类似问题的任何人 - 从我的研究来看,修改道具的参考值似乎不是 VueJS 的预期方法。真遗憾,因为最初它看起来是一个非常整洁的模式。
我现在已经实现了 vuex,它运行良好,并且避免了返回到 prop 数据的原始所有者的长行事件。
如果你想按下它,那么修改对象本身的引用将强制更新链。所以(例如)如果你想更新 prop 数据的数组 属性,那么与其“推送”它,不如替换整个数组对象(导致其他组件在该数组上具有计算属性 属性 重新计算)。但同样,不推荐。