Ambos ejecutan side effects en respuesta a cambios reactivos, pero difieren en cómo se especifican las dependencias y qué información te proporcionan. Úsalos para side effects (llamadas API, logging, trabajo manual del DOM) — no para derivar valores (eso es computed).
watch — fuente explícita, proporciona valores antiguos + nuevos
<script setup>
import { ref, watch } from "vue";
const searchQuery = ref("");
watch(searchQuery, (newVal, oldVal) => {
// runs ONLY when searchQuery changes; you get both values
console.log(`changed from ${oldVal} to ${newVal}`);
fetchResults(newVal);
});
</script>
