JS 代理 属性 值与目标 属性 中的值不同 Vue.js Component Prop

JS Proxy Property Value Differs from Target Property Value in Vue.js Component Prop

我在 parent child 关系中有两个 Vue.js 组件。 parent 通过将其数据绑定到 child 的属性来将数据传递给 child。

    <stacked-bar-chart :data="data"></stacked-bar-chart>

在 child 中,当我阅读 属性 时,我得到 0,这与我在 parent.

中得到的值不同

这是我在控制台日志中看到的内容。

Parent

Child

注意在 child 中代理的 totalMinutes 是 0 而代理的目标的总分钟数是 225。

我找遍了都没有结果。希望有人能解释一下是怎么回事。

谢谢!

_This is a bit of a quantum physics problem. The act of being observing changes the outcome._

您遇到的问题是您在不同时间看到了同一代理的两种状态。

当第一行被写入调试控制台时,totalMinutes 的值为 0。然而,当您手动展开它时,它显示最新的值。所以该对象实际上并不具有量子属性,只是代理的字符串表示不再代表实际值。

不过,此行为并非代理独有。这是一个使用简单对象的示例

let a = {totalMinutes: 0}
console.log(a)
a.totalMinutes += 224
console.log(a)

如果您 运行 在浏览器的控制台面板中编写代码并查看结果,您将在展开第一个对象时看到类似的问题