【vue】watch和watcheffect的区别

两者都可监听data属性变化

watch需要明确监听哪个属性

watcheffect 会根据其中的属性自动监听其变化,你写了哪个就会监听哪个,没写就不监听

watcheffect初始化时,一定会执行一次(收集要监听的数据),watch只有你设置了初始化监听才会监听

 watch(
            // 第一个参数,确定要监听哪个属性
            () => state.age,
            // 第二个参数,回调函数
            (newAge, oldAge) => {
                console.log('state watch', newAge, oldAge)
            },

            // 第三个参数,配置项
            {
                immediate: true, // 初始化之前就监听,可选
                // deep: true // 深度监听
            }
        )
        
        watchEffect(() => {
            // 初始化时,一定会执行一次(收集要监听的数据)
            console.log('hello watchEffect')
        })
        watchEffect(() => {
            console.log('state.name', state.name)
        })

猜你喜欢

转载自blog.csdn.net/wuguidian1114/article/details/120206571