解构赋值 name 和 englishName 的侦听

来源:6-10 watch 和 watchEffect 的使用和差异性(2)

一休小施主

2021-04-26

setup(props, context) {
const { ref, watch, reactive, toRefs, watchEffect } = Vue
const nameObj = reactive({name: ‘dell’, englishName: ‘hi’})
const {name, englishName} = toRefs(nameObj)
watch([name, englishName], ([currentName, currentEnglishName], [prevName, prevEnglishName]) => {
console.log(‘watch’, currentName, prevName, ‘—’, currentEnglishName, prevEnglishName)
}, {
immediate: true
})
const stop = watchEffect(() => {
console.log(name.value)
console.log(englishName.value)
setTimeout(() => {
stop()
}, 5000);
})
return { name, englishName }
},

老师,name 和 englishName 的解构赋值放在前面, watch里面可以直接侦听 name 和 englishName变量, 为啥 watchEffect 里面需要侦听 name.value 和 englishName.value 才可以呢

写回答

1回答

Dell

2021-04-26

你写name 应该也可以,我是为了方便输出才写的value

0
0

Vue3入门与项目实战 掌握完整知识体系

明星讲师DELL亲授,全方位知识点+高匹配度项目,入门到深度掌握

3382 学习 · 1454 问题

查看课程