كلاهما يشغل side effects استجابة للتغييرات التفاعلية، لكنهما يختلفان في كيفية تحديد التبعيات وما معلومات يعطيانك إياها. استخدمهما للـ side effects (استدعاءات API، logging، عمل 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>
