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

Vue93 vue3 watch监视ref属性的说明

<template>
	<h2>当前求和为:{{sum}}</h2>
	<button @click="sum++">点我+1</button>
	<hr>
	<h2>当前的信息为:{{msg}}</h2>
	<button @click="msg+=''">修改信息</button>
	<hr>
	<h2>姓名:{{person.name}}</h2>
	<h2>年龄:{{person.age}}</h2>
	<h2>薪资:{{person.job.j1.salary}}K</h2>
	<button @click="person.name+='~'">修改姓名</button>
	<button @click="person.age++">增长年龄</button>
	<button @click="person.job.j1.salary++">涨薪</button>
</template>

<script>
	import {ref,reactive,watch} from 'vue'
	export default {
		name: 'Demo',
		setup(){
			//数据
			let sum = ref(0)
			let msg = ref('你好啊')
			let person = ref({
				name:'张三',
				age:18,
				job:{
					j1:{
						salary:20
					}
				}
			})

			console.log(person)

			watch(sum,(newValue,oldValue)=>{
				console.log('sum的值变化了',newValue,oldValue)
			})

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


			//返回一个对象(常用)
			return {
				sum,
				msg,
				person
			}
		}
	}
</script>


监视person时,不加.value是监视person对象。加了.value是监视person内部通过reactive生成的对象。


http://www.kler.cn/news/361371.html

相关文章:

  • STM32的Flash页擦除操作的疑惑
  • MySQL~数据类型
  • flask 接口还在执行中,前端接收到接口请求超时,解决方案
  • CTFHUB技能树之SQL——字符型注入
  • 10.22学习
  • 【FAQ】HarmonyOS SDK 闭源开放能力 —Map Kit(3)
  • 记录:网鼎杯2024赛前热身WEB01
  • Cocos引擎
  • 十四、MySQL事务日志
  • IIC通信与MAX30102采集血样数据+V4L2框架
  • 【Petri网导论学习笔记】Petri网导论入门学习(七) —— 1.5 并发与冲突
  • 上海市计算机学会竞赛平台2024年10月月赛丙组胜率判断
  • 拍立淘按图搜索API接口系列(json数据格式示例)
  • c++ libtorch tensor 矩阵分块
  • 域4:通信与网络安全 第12章 安全通讯和网络攻击
  • 【数据结构与算法】第3课—数据结构之单链表
  • OBOO鸥柏丨《满天星(MTSTAR)》信息发布系统售后服务点位收费标准
  • Unity性能优化1【基础篇】
  • js的入口函数,及入口函数的作用
  • Spring中的参数统一配置
  • Microsoft Visual Studio Install Projects2022发布安装包
  • Java实现html填充导出pdf
  • Python 从网页中提取文本内容,进行中文分词和词频统计,并生成词云图进行可视化
  • 计算机网络教学设计稿
  • 自定义中文排序在Java中的实现与注意事项
  • redis的bitmap实现用户签到天数统计