我的组件很大,所以我会给你一个简化的例子,也许有人会知道如何解决我的问题。
我有带有子组件的发票组件,例如“subtotal”、“vat_subtotal”、“total”(这是示例)。我正在使用 v-ref 从发票组件直接访问每个孩子。此外,小计是根据发票属性计算的,然后 vat_subtotal 是从小计子属性计算的。'total' 是从 vat_subtotal 子项中计算出来的。
例子:
invoice.$refs.subtotal.total = {some calculations}
vat_subtotal.total = @$parent.$refs.subtotal.total * 1.21
total.total = @$parent.$refs.vat_subtotal.total
问题是我在页面加载时收到警告,因为“total”孩子试图访问“vat_total”孩子属性,但@$parent.$refs.vat_total 仍然是“未定义”(我不知道为什么. 当我后来改变形式时,它会正常反应并重新计算一切正确)。看起来,一个孩子正在尝试计算属性,而其他孩子尚未加载。