Перейти к содержимому
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))

Как реализовать Observer Pattern с Vue reactivity? | JScriptiser