Vue3中监听多条数据的两种使用
1.watch【使用上一章写法,监听两个属性,然后执行相应操作…】
2.watchEffect【相对于使用watch,watchEffect默认页面初始加载,有点类似加配置:立即执行 immediate】
代码:
<template><div style="background-color: #eeeeee;"><div>当前水温 {{water_wen}} (单位 / 摄氏度)</div><div>当前水位 {{water_height}}(单位 / 米)</div></div><div style="display:flex; ;"><button @click="updateWater_wen()">修改-水温 </button><button @click="updatewater_height()">修改-水位</button></div>
</template>
<script name="Greg_05"></script><script setup lang="ts">
import {ref,watch,watchEffect} from 'vue';
let water_wen=ref(10);
let water_height=ref(0);//修改
function updateWater_wen(){water_wen.value+=10
}
function updatewater_height(){water_height.value+=1
}//监听:水温>60度或水位>20米,则请求接口报警!
//第一种写法:使用watch去监听
// watch([water_wen,water_height],(newVal,oldVal)=>{
// console.log("水温或水位变化了",newVal,oldVal)
// let [new_water_wen,new_water_height] =newVal;
// if(new_water_wen>60||new_water_height>20){
// console.log("开始报警......");
// }
// })
//第二种:不用告诉它监听谁,它会自己去判断 ,页面初始上来即执行,类似给watch配置indes立刻执行
watchEffect(()=>{if(water_wen.value>60||water_height.value>20){console.log("开始报警......");}
})</script><style>
</style>