Ответ
watch и watchEffect — это Composition API хуки во Vue 3 для реактивного отслеживания изменений.
watch
- Требует явного указания зависимостей (source).
- Выполняет колбек только при изменении указанных зависимостей.
- Позволяет получить старое и новое значение.
watch(count, (newVal, oldVal) => {
console.log(`Count changed from ${oldVal} to ${newVal}`);
});
watchEffect
- Автоматически отслеживает все реактивные зависимости внутри колбека.
- Запускается сразу при создании и при любом изменении зависимостей.
- Не предоставляет старые значения.
watchEffect(() => {
console.log(`Count is now: ${count.value}`);
});
Итог:
watch— для точного контроля, когда нужно старое значение.watchEffect— для автоматического отслеживания всех зависимостей.