当前位置: 首页 > 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://www.lqws.cn/news/84421.html

相关文章:

  • FastAPI+Pyomo实现线性回归解决饮食问题
  • 函数调用的机器级实现(二):栈帧的访问与切换机制
  • 极客时间:用 FAISS、LangChain 和 Google Colab 模拟 LLM 的短期与长期记忆
  • 【springcloud】快速搭建一套分布式服务springcloudalibaba(四)
  • python爬虫:Ruia的详细使用(一个基于asyncio和aiohttp的异步爬虫框架)
  • Langchian - 自定义提示词模板 提取结构化的数据
  • 【redis实战篇】第七天
  • 在 Linux 服务器上无需 sudo 权限解压/打包 .7z 的方法(实用命令)
  • 小团队如何落地 Scrum 模型:从 0 到 1 的实战指南
  • rabbitmq Direct交换机简介
  • C++——AVL平衡树
  • Java递归编程中的StackOverflowError问题分析与解决方案
  • 题目 3230: 蓝桥杯2024年第十五届省赛真题-星际旅行
  • 数字孪生智慧水利解决方案:数字化场景、智慧化模拟、精准化决策,构建数字孪生流域为核心的智慧水利体系
  • 【笔记】Windows 部署 Suna 开源项目完整流程记录
  • 前端面试宝典---前端水印
  • Linux中的System V通信标准-共享内存、消息队列以及信号量
  • API 版本控制:使用 ABP vNext 实现版本化 API 系统
  • SpringBoot统一功能处理
  • linux驱动 - 5: simple usb device驱动
  • PART 6 树莓派小车+QT (TCP控制)
  • DDP学习
  • 什么是煤矿智能掘进
  • edg浏览器打开后默认是360界面
  • 【算法设计与分析】实验——改写二分搜索算法,众数问题(算法分析:主要算法思路),有重复元素的排列问题,整数因子分解问题(算法实现:过程,分析,小结)
  • 操作系统复习
  • 分词算法BBPE详解和Qwen的应用
  • 【深度学习新浪潮】多模态模型如何处理任意分辨率输入?
  • 项目采购管理习题剖析
  • 振动力学:有阻尼单自由度系统