watch(count,(newValue,oldValue)=>{
if(newValue){
console.log(`我侦听到了count状态的变化,当前值为${newValue},从而处理相关逻辑`);
}
})
watch([x,y],([x,y],oldValue)=>{
console.log(`我是x=>${x},我是y=》${y}`);
})
//监听对象性属性
watch(()=>obj.num,(newV,oldV)=>{
console.log('监听单个属性',oldV,newV);
})
//监听多个属性
watch([()=>obj.num,()=>obj.age],(newV,oldV)=>{ //返回的新值和旧值也是数组,和属性相对应
console.log('监听多个',oldV,newV);//监听多个属性要在监听单个属性后面执行
})
//监听整个对象
watch(obj,(oldV,newV)=>{
console.log('监听整个对象',oldV.age,newV.age);
},{ deep: true,immediate:true })
//watchEffect一开始也会执行一次,拿到的数据是改变后的,但获取到的dom数据是上一次的,可以加flush: 'post'。
watchEffect(()=>{
//凡是写在这里的数据只要变化都会触发这里的代码执行
console.log(obj.num);
console.log(per.age);
})
vue 3 wacth写法大全
于 2023-08-01 11:03:26 首次发布