当前位置: 首页 > news >正文

邢台网站建设哪里有上传网站代码

邢台网站建设哪里有,上传网站代码,公司网络推广方案,网址被禁止访问怎么办文章目录 4、watch监视4.1 前言4.2 情况一4.3 情况二 4、watch监视 4.1 前言 作用:监视数据的变化(和vue2中的watch作用一致)特点:Vue3中的watch只能监视以下四种数据: ref定义的数据。reactive定义的数据。函数返回…

文章目录

  • 4、watch监视
    • 4.1 前言
    • 4.2 情况一
    • 4.3 情况二

4、watch监视

4.1 前言

  • 作用:监视数据的变化(和vue2中的watch作用一致)
  • 特点:Vue3中的watch只能监视以下四种数据:
    • ref定义的数据。
    • reactive定义的数据。
    • 函数返回一个值。
    • 一个包含上述内容的数组。

4.2 情况一

监视ref定义的【基本类型】数据:直接写数据名即可,监视的是其value值的改变。

<template><div><el-card style="max-width: 480px"><template #header><div class="card-header"><span>监视【ref】定义的【基本类型】数据</span></div></template><h2>当前求和为:{{sum}}</h2><el-button type="success" @click="changeSum">点我+1</el-button><template #footer>监视属性watch:<el-tag type="info">情况一</el-tag></template></el-card></div>
</template><script lang="ts" setup>
import {ref, watch} from 'vue'let sum = ref(0)function changeSum(){sum.value += 1;
}// 监视 watch(谁?, 回调函数)
watch(sum, (newValue, oldValue)=>{console.log('sum变化了', newValue, oldValue);
})
</script><style scoped></style>

注意:

  • 监视ref数据的时候,不需要写value
    • watch(sum, (newValue, oldValue))

4.3 情况二

监视ref定义的对象类型数据,实现代码:

<template><div><el-row :gutter="4"><el-col :span="12"><el-card style="max-width: 480px"><template #header><div class="card-header"><span>监视【ref】定义的【基本类型】数据</span></div></template><h2>当前求和为:{{sum}}</h2><el-button size="small" type="success" @click="changeSum">点我+1</el-button><template #footer>监视属性watch:<el-tag type="info">情况一</el-tag></template></el-card></el-col><el-col :span="12"><el-card style="max-width: 480px"><template #header><div class="card-header"><span>监视【ref】定义的【对象类型】数据</span></div></template><h2>姓名:{{person.name}}</h2><h2>年龄:{{person.age}}</h2><el-button size="small" type="primary" @click="changeName">修改名字</el-button><el-button size="small" type="success" @click="changeAge">修改年龄</el-button><el-button size="small" type="danger" @click="changePerson">修改全部</el-button><template #footer>监视属性watch:<el-tag type="info">情况二</el-tag></template></el-card></el-col></el-row></div>
</template><script lang="ts" setup>
import {ref, watch} from 'vue'let sum = ref(0)let person = ref({name: '张三',age: 18
})function changeSum(){sum.value += 1;
}function changeName(){person.value.name += '~'
}function changeAge(){person.value.age += 1
}function changePerson(){person.value = {name: '李四', age: 25}
}// 监视 watch(谁?, 回调函数)
watch(sum, (newValue, oldValue)=>{console.log('✅sum变化了', newValue, oldValue)
})watch(person, (newValue, oldValue)=>{console.log("✅person变化了:",newValue, oldValue)
})
</script><style scoped></style>

实现效果,这里监视的是整个对象,只有点击【修改全部】的时候,才能触发监视器:

image-20250520222144443

如果想监视对象的某一个属性【name/age】,则需要开启深度监视,修改监视代码,添加deep:true

watch(person, (newValue, oldValue)=>{console.log("✅person变化了:",newValue, oldValue)
},{deep:true})

实现效果:

image-20250520222526780

如果开启立即监视,即刷新页面的时候,当数据没有改变的时候就监视,实现代码如下:

watch(person, (newValue, oldValue)=>{console.log("✅person变化了:",newValue, oldValue)
},{deep:true, immediate:true})

打印结果如下,当刷新浏览器,页面数据没有变化,但仍会默认监视,但是此时旧的值是undefined

image-20250520222825822

http://www.dtcms.com/a/509293.html

相关文章:

  • 【avalonia教程】14Binding的其他属性(1)
  • 福州网站建设新闻东莞营销型手机网站建设
  • 网站后台维护怎么做电商网站开发会遇到哪些问题
  • 企业网站pc优化wordpress 博客源码
  • 合肥营销型网站秀主题wordpress
  • 管理网站建设wordpress三栏cms主题
  • 建站用Wordpress还是做网站素材网
  • 无人机编队控制图案组合的实现方法与仿真技术详解
  • 个人网站源代码网站锚点链接怎么做
  • 网站怎么做收录网站做聚合页面方案如何写
  • 网站建设公司诺玺网络重庆城乡住房建设厅网站
  • wordpress是干嘛的北京网站搜索引擎优化
  • 慈溪网站建设网站推广专业定制网站公司
  • 在腾讯云怎样建设网站昆明网络营销公司哪家好
  • 个人站长做导航网站wordpress装饰主题
  • 利用php做直播网站网站改版要改哪些页面
  • 用AI重构人机关系,OPPO智慧服务带来了更“懂你”的体验
  • 谷歌网站收录提交入口正规的百度快排seo
  • 网站的设计怎样帮拍卖网站做策划
  • 做二手房销售要开自己的网站吗赣州的免费网站建设
  • 网站开发前端模板创意设计专业
  • php网站源码带后台宁波seo网络推广推荐
  • 网站建设公司的市场营销方案模板北京装修平台网站
  • 青岛西海岸新区建设局网站潍坊正规建设网站
  • kubernetes中的pod管理
  • 广州网站建设性价比网络工程师高级职称
  • 博客类网站怎么做百度关键词搜索优化
  • 彩票网站如何建设什么样的网站容易做seo
  • 《道德经》第二十五章
  • 深圳网站建设电话ps如何做网页