Оба запускают побочные эффекты в ответ на реактивные изменения, но отличаются тем, как указываются зависимости и какую информацию они предоставляют. Используйте их для побочных эффектов (вызовы API, логирование, ручная работа с DOM) — не для получения производных значений (это computed).
watch — явный источник, предоставляет старое и новое значения
<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>
