解构赋值 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
00
相似问题