Vue3-14 watch监视对象及对象属性,watchEffect

文章目录

watch 监听

监视 reactive

reactive 的一个弊端:

不能整体修改数据

左边ref相当于替换了整个人;

右边reactive相当于人没换,只是换了属性。

监视reactive对象,默认是开启深度监视的,是不能关闭的。

监听对象前后的值为什么是相同的?

他们修改的是属性,对象的地址值是没变的,等到打印的时候,拿到的就是最新的数据了。

监视对象属性

watch 监听对象的话, 监听的是对象的地址值的变化,不是对象某个属性的变化。

监视数组

watchEffect

watch 必须明确指出我监视什么

watchEffect 一上来就会监视,相当于watch 加了个立即执行。

会自动分析需要监视哪些数据的。

watchEffect 是回调一个函数:

js 复制代码
const stopWatch = watchEffect(()=>{

})
js 复制代码
// 用watchEffect实现,不用
const stopWtach = watchEffect(()=>{
  // 室温达到50℃,或水位达到20cm,立刻联系服务器
  if(temp.value >= 50 || height.value >= 20){
    console.log(document.getElementById('demo')?.innerText)
    console.log('联系服务器')
  }
  // 水温达到100,或水位达到50,取消监视
  if(temp.value === 100 || height.value === 50){
    console.log('清理了')
    stopWtach()
  }
})
相关推荐
技术宅星云5 小时前
7. vue3-element-admin 二次开发图文教程
vue3·element-admin·后端开箱即用前端框架
Sheldon一蓑烟雨任平生1 天前
Sass 星空(Sass + keyframes 实现星空动画)
前端·css·vue3·sass·keyframes
Irene19912 天前
Vue 3 中移除了 $on、$off 和 $once 方法(附:Composables 组合式函数 使用详解)
vue3
Sapphire~3 天前
Vue3-15 html标签和组件上的ref属性 + 接口泛型
vue3
Irene19913 天前
Vue 3 中使用 Mitt 事件总线
vue3·mitt
咸甜适中3 天前
双色球、大乐透兑奖分析小程序(rust_Tauri + Vue3 + sqlite)
爬虫·rust·sqlite·vue3·tauri2
Sapphire~5 天前
Vue3-012 vue2与vue3中的computed
vue3
Sapphire~8 天前
Vue3-11 toRefs 和 toRef
vue3
华玥作者9 天前
uni-app + Vite 项目中使用 @uni-helper/vite-plugin-uni-pages 实现自动路由配置(超详细)
前端·uni-app·vue·vue3·vite