Vue3 watch监听多个参数踩坑

Vue3 watch监听多个参数踩坑,第1张

在Vue3中,watch可以用数组来监听多个参数,然而需要注意的是,当你需要监听两个参数的时候,name、cont:

const name = ref(0)
const cont = ref(0)

你第一时间想到的是这种写法:

watch([() => name.value, cont.value], ([name, count], [preName, preCount]) => {
	console.log("name或cont改变了");
});

因为ref定义的参数需要用.value拿到定义的值,所以我们下意识这样写,但是这种写法是错误的,正确写法是:

// 错误写法
watch([() => name.value, cont.value], ([name, count], [preName, preCount]) => {
	console.log("name或cont改变了");
});

// 正确写法
watch([() => name.value, cont], ([name, count], [preName, preCount]) => {
	console.log("name或cont改变了");
});

细心的朋友应该发现了,重点在于第二个参数,不需要带.value,本人也是踩坑踩出来的,至于原因作者也不知道,不知道是特性还bug。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/946750.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-18
下一篇2022-05-18

发表评论

登录后才能评论

评论列表(0条)

    保存