watch — typed watchers.
1import { ref, watch } from "vue"23const count = ref(0)45// Basic watch6watch(7 count,8 (newVal: number, oldVal: number) => {9 console.log(`${oldVal} -> ${newVal}`)10 }11)1213// Multiple sources14const firstName = ref("John")15const lastName = ref("Doe")1617watch(18 [firstName, lastName],19 ([newFirst, newLast]: [string, string], [oldFirst, oldLast]) => {20 console.log("Name changed")21 }22)
With getter:
1watch(2 () => state.user,3 (newUser: User | null, oldUser: User | null) => {4 console.log("User changed")5 }6)