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

Vue3(watch,watchEffect,标签中ref的使用,TS,props,生命周期)

Vue3(watch,watchEffect,标签中ref的使用,TS,props,生命周期)

watch监视

情况三:监视reactive定义的对象类型的数据

监视reactive定义的对象类型的数据,默认开启深度监视。地址没变,新值和旧值相等。

在这里插入图片描述

情况四:监视ref/reactive定义的对象的某个属性


<template><div class="person"><h1>情况四:监视ref/reactive定义的对象的某个属性</h1><h2>姓名:{{person.name}}</h2><h2>年龄:{{person.age}}</h2><h2>汽车:{{person.car.c1}}、 {{person.car.c2}}</h2><button @click="changeName">修改姓名</button><button @click="changeAge">修改年龄</button><button @click="changeC1">修改c1</button><button @click="changeC2">修改c2</button><button @click="changeCar">修改car</button></div>
</template><script lang="ts">export default {name:'Person',}
</script>
<script lang="ts" setup>
// 监视 引入watchimport {reactive,watch} from 'vue'let person = reactive({name:'张三',age:18,car:{c1:'奔驰',c2:'宝马'}})
function changeName(){person.name += '_'
}
function changeAge(){person.age += 1
}
// 方法
function changeC1 (){person.car.c1 = '奥迪'
}
function changeC2 (){person.car.c2 = '保时捷'
}
function changeCar (){person.car = {c1:'旅行者',c2:'长城'}
}
// 监视某一个属性
watch(()=>{return person.car.c1},()=>{console.log('c1被修改了')
})</script><style>.person {background-color: #f2f2f2;border-radius: 10px;box-shadow: 0 0 10px;padding: 20px;position: absolute;top: 200px;right: 20px;}
</style>

在这里插入图片描述

注意:监视的是对象里属性为对象时,使用函数式,注意开启deep

在这里插入图片描述

情况五:监视一个对象中的多个属性

在这里插入图片描述

watchEffect(自动监视)

在这里插入图片描述


标签中ref的使用

HTML标签中ref的使用

在这里插入图片描述


组件标签中ref的使用(defineExpose)

在这里插入图片描述

<!--局部样式-->
<style scoped>.person {background-color: #f2f2f2;border-radius: 10px;box-shadow: 0 0 10px;padding: 20px;position: absolute;top: 200px;right: 20px;}
</style>

TS中的接口、泛型、自定义类型

在这里插入图片描述


props的使用

在这里插入图片描述

在这里插入图片描述


生命周期(Vue2,Vue3)

Vue2:创建  created(beforeCreate创建前------完毕created)挂载	mounted(beforeMount挂前载------完毕mounted)更新	update(beforeUpdate更新前------完毕updated)销毁  Destory(beforeDestory销毁前------完毕Destoryed)
Vue3:自动创建onBeforeMount(()=>{//指定函数})omMounted(()=>{})onBeforeUpdate()onUpdated()onBeforeUnmount()onUnmount()

文章转载自:

http://O1LSdwDN.ykmkz.cn
http://qnrU64o5.ykmkz.cn
http://Ac4AB1to.ykmkz.cn
http://gTr0uZMT.ykmkz.cn
http://XJcfYaNy.ykmkz.cn
http://BAFfEhol.ykmkz.cn
http://6gdCu7UF.ykmkz.cn
http://fi6DW3Oz.ykmkz.cn
http://cgojTqAD.ykmkz.cn
http://WXP9yhxD.ykmkz.cn
http://lwPL5nGy.ykmkz.cn
http://8jaPLRV4.ykmkz.cn
http://gvkzrrut.ykmkz.cn
http://ZB4IGNcT.ykmkz.cn
http://hQ1sbYzQ.ykmkz.cn
http://BCPGNMBS.ykmkz.cn
http://uBY2j1xB.ykmkz.cn
http://kKTTLjMU.ykmkz.cn
http://UHAzA2tJ.ykmkz.cn
http://yWwEGEoK.ykmkz.cn
http://l3EIqnAs.ykmkz.cn
http://fwWnp6TQ.ykmkz.cn
http://MK89h45L.ykmkz.cn
http://nAfqQXEp.ykmkz.cn
http://cbveobGk.ykmkz.cn
http://VyTOMAVy.ykmkz.cn
http://l4ei59iL.ykmkz.cn
http://i3fxuPgc.ykmkz.cn
http://mA9Y1r0V.ykmkz.cn
http://6LJVjvgV.ykmkz.cn
http://www.dtcms.com/a/227122.html

相关文章:

  • DAY43打卡
  • Github 2025-06-02 开源项目周报 Top11
  • 效率办公Office 2003-2024网盘下载与安装教程指南
  • 【Pytorch学习笔记】模型模块07——hook实现Grad-CAM
  • pbootcms 搜索自定义字段模糊、精准搜索
  • 如何自定义WordPress主题(5个分步教程)
  • Pycharm的终端无法使用Anaconda命令行问题详细解决教程
  • 【CVE-2025-4123】Grafana完整分析SSRF和从xss到帐户接管
  • 字节跳动开源图标库:2000+图标一键换肤的魔法
  • unidbg patch 初探 微博deviceId 案例
  • CSP使用严格设置
  • 电脑桌面便签软件哪个好?桌面好用便签备忘录推荐
  • OpenCV4.4.0下载及初步配置(Win11)
  • 一步一步配置 Ubuntu Server 的 NodeJS 服务器详细实录——3. 服务器软件更新,以及常用软件安装
  • 第十章:Next的Seo实践
  • 使用pdm+uv替换poetry
  • 【CBAP50技术手册】#33 Prioritization(优先级排序):BA(业务分析师)的“焦点加速器”
  • 芝麻酱工作创新点分享1——SpringBoot下使用mongo+Redis做向量搜索
  • Java详解LeetCode 热题 100(23):LeetCode 206. 反转链表(Reverse Linked List)详解
  • 机器学习:支持向量机(SVM)原理解析及垃圾邮件过滤实战
  • mac电脑安装 nvm 报错如何解决
  • 前端自动化测试利器:Playwright 全面介绍
  • Python-120:摇骰子的胜利概率
  • 23. Merge k Sorted Lists
  • 鸿蒙进阶——Mindspore Lite AI框架源码解读之模型加载详解(一)
  • DAY41 CNN
  • DAY 41 简单CNN
  • Python----目标检测(训练YOLOV8网络)
  • SpringBoot手动实现流式输出方案整理以及SSE规范输出详解
  • JavaSE知识总结(集合篇) ~个人笔记以及不断思考~持续更新