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()
  }
})
相关推荐
Irene19911 天前
通用消息组件 bug 修复及更好的实现是使用函数调用组件
vue3·函数调用·通用消息组件
Irene19912 天前
Vuex4:专为 Vue 3 设计,提供完整 TypeScript 支持
vue3·vuex4
无法长大3 天前
如何判断项目需不需要用、能不能用Tailwind CSS
前端·css·vue.js·elementui·vue3·tailwind css
cui_win4 天前
企业级中后台开源解决方案汇总
开源·vue3·ts
Sapphire~5 天前
Vue3-19 hooks 前端数据和方法的封装
前端·vue3
記億揺晃着的那天5 天前
Vue3 动态路由在生产环境才出现白屏的排查与解决(keep-alive 踩坑实录)
vue3·vue router·动态路由·生产环境报错
kong79069288 天前
Vue3快速入门
前端·vue3
无法长大10 天前
Mac M1 环境下使用 Rust Tauri 将 Vue3 项目打包成 APK 完整指南
android·前端·macos·rust·vue3·tauri·打包apk
淡笑沐白10 天前
Vue3使用ElementPlus实现菜单的无限递归
javascript·vue3·elementplus
Sapphire~11 天前
Vue3-18 生命周期(vue2+vue3)
vue3