Tengo este observador (dentro <script setup> :
const form = reactive({ body: '', image: '' }) watch(() => form.image, () => { console.log(form.image) })que quiero expandir para ver dos objetos reactivos:
watch(() => (form.image, form.body), () => { console.log(form) }) pero esto ahora solo mira form.body . He estado tratando de implementar la respuesta de esta pregunta , pero no parece funcionar como mi observador con valores nuevos y antiguos. Quiero que el observador se active cuando se actualicen ambos valores.
Debe llamar al reloj cada vez si necesita varios observadores:
watch(() => form.image, () => { console.log(form.image) }) watch(() => form.body, () => { console.log(form.body) })si lo que necesita es un observador para ver a los dos, entonces:
watch([() => form.image, () => form.body], ([newImage, newBody], [prevImage, prevBody]) => { console.log(form.body, form.image) })si tomamos un ejemplo de esa respuesta: https://stackoverflow.com/a/45853349/8126784 de la pregunta que vinculó
Descubrí algo. Se activará cuando ambos valores sean verdaderos. Puedes poner tus propias condiciones allí.
const form = reactive({ body: '', image: '' }) watch(() => ([form.image, form.body]), () => { if (form.image && form.body) { console.log(form) } })