22 / 22
Как реализовать Observer Pattern с Vue reactivity?
Реактивность Vue уже реализует Observer Pattern под капотом: ref/reactive -- это subject (наблюдаемый), а watch/computed/шаблон -- observers. Но иногда нужен явный event bus или pub/sub для cross-cutting concerns.
JavaScript
import { ref, watch } from 'vue'
// Subject
const currentUser = ref(null)
// Observer 1: логирование
watch(currentUser, (user) => console.log('User changed:', user))
// Observer 2: аналитика
watch(currentUser, (user) => analytics.identify(user?.id))