Vue93 vue3 watch监视ref属性的说明

html 复制代码
<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生成的对象。

相关推荐
大阿明2 分钟前
Node.js npm 安装过程中 EBUSY 错误的分析与解决方案
前端·npm·node.js
Cxiaomu2 分钟前
Web 项目的开发/生产环境请求接口配置治理实战
前端·react.js·typescript
Можно3 分钟前
深入理解 UniApp 生命周期钩子:从页面到组件的全流程掌控
前端·javascript·vue.js
easyboot4 分钟前
使用element-plus的暗黑模式
javascript·vue.js·elementui
橙色日落5 分钟前
Vue2 + LogicFlow 实现可视化流程图编辑功能+常用属性大全
前端·vue·流程图·logicflow
NaMM CHIN12 分钟前
Spring boot整合quartz方法
java·前端·spring boot
西洼工作室12 分钟前
react 地图找房模块
前端·react.js·前端框架
低保和光头哪个先来13 分钟前
Axios 近期安全版本
开发语言·前端·javascript·前端框架
@Mr.h15 分钟前
(源码)基于Spring Boot + Vue志愿者服务平台的设计与实现
java·vue.js·spring boot·后端
han_18 分钟前
JavaScript设计模式(八):命令模式实现与应用
前端·javascript·设计模式