Ambos executam efeitos colaterais em resposta a mudanças reativas, mas diferem em como as dependências são especificadas e que informações fornecem. Use-os para efeitos colaterais (chamadas de API, logging, trabalho manual com DOM) — não para derivar valores (isso é computed).
watch — fonte explícita, fornece valores antigos + novos
<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>
