【发布时间】:2021-09-08 08:56:21
【问题描述】:
每当数组内的值发生更改时,我都会尝试记录,它只会在我添加或删除它时控制台记录项目,但是当其中的某些内容发生更改时如何记录?例如,我希望看到 item.Circle.position 在更改后被控制台记录。
是的,我试过用 deep: true 观看,但也不会记录它。
watchEffect(async () => {
await map.value.circles.forEach((item, i) => console.log(item.Circle, i))
})
watch(async () => {
await map.value.circles.forEach((item, i) => console.log(toRaw(item.Circle), i))
}, { deep: true })
【问题讨论】:
-
您的
watch()调用需要将map作为第一个参数传递,如demo 所示。您评论说尝试此操作时它会崩溃。你可以 fork 演示来重现这个问题吗? -
item.Circle 是否反应?正如在之前的答案中所说,在没有输入的情况下使用 watch 是不正确的。这种情况并不常见,建议提供一个可以调试的可行示例。