watch和watchEffect的区别

watch和watchEffect的区别?

监听属性 watch
1、watch(监听的属性,回调函数(newVal,oldVal),{deep:true,immediate:true})
2、监听多个:watch([监听的属性1,监听的属性2, ()=>监听的属性3(reactive声明的属性)],
回调函数(newVal,oldVal),{deep:true,immediate:true})
3、watch显式指定依赖数据,依赖数据更新时执行回调函数
4、具有一定的惰性lazy 第一次页面展示的时候不会执行,只有数据变化的时候才会执行(设置immediate: true时可以变为非惰性,页面首次加载就会执行)
5、既要指明监视的属性,也要指明监视的回调

watchEffect监听
1、watchEffect自动收集依赖数据,依赖数据更新时重新执行自身
2、立即执行,没有惰性,页面的首次加载就会执行
3、不用指明监视哪个属性,监视的回调中用到哪个属性就监视哪个属性

let sum = ref(1)
let person = reactive({job:'gongzi'})
watchEffect(() => {
            const x = sum.value
            const y = person.job
            console.log('watchEffect变化了')
        })
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值