1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
| const app = Vue.createApp({ setup() { const { reactive, watch, watchEffect, toRefs } = Vue; const nameObj = reactive({ name: 'dell', englishName: 'lee' }) watch([() => nameObj.name, () => nameObj.englishName], ([curName, curEng], [prevName, preEng]) => { console.log('watch', curName, prevName, '---', curEng, preEng); }, { immediate: true }) const { name, englishName } = toRefs(nameObj); return { name, englishName } }, template: ` <div> <div> Name: <input v-model="name"> </div> <div> Name is {{name}} </div> <div> EnglishName: <input v-model="englishName"> </div> <div> EnglishName is {{englishName}} </div> </div> `, });
|