watch — explicit sources. watchEffect — auto tracking.
watch:
watchEffect:
1<script setup>2import { ref, watch, watchEffect } from "vue"34const query = ref("")56watch(query, (newVal, oldVal) => {7 console.log(`${oldVal} -> ${newVal}`)8})910watchEffect(() => {11 console.log(`Query: ${query.value}`)12})13</script>
Key: watch for explicit, watchEffect for auto.