首页 > 其他分享 >watch函数

watch函数

时间:2023-07-09 22:22:48浏览次数:31  
标签:函数 reactive watch deep person oldValue newValue

  • 与Vue2.x中watch配置功能一致

  • 两个小“坑”:

    • 监视reactive定义的响应式数据时:oldValue无法正确获取、强制开启了深度监视(deep配置失效)。

    • 监视reactive定义的响应式数据中某个属性时:deep配置有效。

//情况一:监视ref定义的响应式数据
watch(sum,(newValue,oldValue)=>{
	console.log('sum变化了',newValue,oldValue)
},{immediate:true})

//情况二:监视多个ref定义的响应式数据
watch([sum,msg],(newValue,oldValue)=>{
	console.log('sum或msg变化了',newValue,oldValue)
}) 

/* 情况三:监视reactive定义的响应式数据
			若watch监视的是reactive定义的响应式数据,则无法正确获得oldValue!!
			若watch监视的是reactive定义的响应式数据,则强制开启了深度监视 
			immediate:立即执行 deep:深度监测
*/
watch(person,(newValue,oldValue)=>{
	console.log('person变化了',newValue,oldValue)
},{immediate:true,deep:false}) //此处的deep配置不再奏效

//情况四:监视reactive定义的响应式数据中的某个属性
watch(()=>person.job,(newValue,oldValue)=>{
	console.log('person的job变化了',newValue,oldValue)
},{immediate:true,deep:true}) 

//情况五:监视reactive定义的响应式数据中的某些属性
watch([()=>person.job,()=>person.name],(newValue,oldValue)=>{
	console.log('person的job变化了',newValue,oldValue)
},{immediate:true,deep:true})

//特殊情况
watch(()=>person.job,(newValue,oldValue)=>{
    console.log('person的job变化了',newValue,oldValue)
},{deep:true}) //此处由于监视的是reactive所定义的对象中的某个属性,所以deep配置有效

  

标签:函数,reactive,watch,deep,person,oldValue,newValue
From: https://www.cnblogs.com/ixtao/p/17539549.html

相关文章

  • isinstance() 函数
     文章目录一、isinstance()函数1.1用途描述1.2使用方法1.3案例分析 一、isinstance()函数  下面从用途描述、使用方法、案例分析、三个方面进行讲解。1.1用途描述  isinstance()函数来判断一个对象是否是一个已知的类型,类似type()。1.2使用方......
  • 内置函数reduce
    1'''2filter()函数是Python内置的一个高阶函数,它用于过滤可迭代对象中的元素,只保留满足特定条件的元素。filter()函数接受两个参数:一个函数和一个可迭代对象。3语法:4filter(function,iterable)5其中:61.function是一个函数,它接受一个参数,并返回一个布......
  • R语言 ggplot函数中 annotate选项增加注释
     001、基础绘图ggplot(data=mtcars,aes(x=mpg,y=disp,color=factor(cyl)))+geom_point()##基础绘图 002、annotete在任意位置增加注释ggplot(data=mtcars,aes(x=mpg,y=disp,##在坐标,25,300处增加QQcolor=factor(cyl)))+geom_point......
  • freeRTOS 10.0.1 的xQueueReceive 函数bug
    xQueueReceive读取队列后,如果再次读取消息队列并保存到同一个变量中,那么还可以读到值 读取后,再读取一次,还有值 必须要手动清除该变量,或者用一个新的指针接收,才会读到0 举例:手动清楚该变量,再读取就是0 要么就是用一个新的变量来接收,这样也可以读到0  ......
  • 莫比乌斯函数与反演
     莫比乌斯函数的原式是u(n)={1,n=1(-1)^r,n=p1*p2*p3*......*pr 其中p为不同的质数                       0,其他}它有两种解法,分别是欧拉筛和杜教筛下面给出欧拉筛的代码:#include<bits/stdc......
  • 浅谈同步、异步、回调函数之间的关系?
    关于这个问题其实我以前没有想过,但就是在最近,我踩坑了,我才明白了这些东西,接下来我就来给大家简单的谈一下。首先,先来简单介绍一下同步、异步以及回调函数的概念,以此来帮助大家快速的理解问题同步:发出一个调用时,在没有得到结果之前,该调用就不返回;一旦调用返回,就得到返回值。换句话说......
  • lower_bound 和 upper_bound函数
    lower_bound和upper_bound函数一、用法1.对于递增序列当容器中的元素按照递增的顺序存储时,lower_bound函数返回容器中第一个大于等于目标值的位置,upper_bound函数返回容器中第一个大于目标值的位置。若容器中的元素都比目标值小则返回最后一个元素的下一个位置。对于vector......
  • next_permutation 函数
    next_permutation函数next_permutation是全排列函数。一、基本用法inta[];do{}while(next_permutation(a,a+n));二、例题[P1088[NOIP2004普及组]火星人]([P1088NOIP2004普及组]火星人-洛谷|计算机科学教育新生态(luogu.com.cn))#include<bits/stdc++.h......
  • round 函数
    round函数要求四舍五入的情况,用round函数就很方便。一、用法1.基本用法对于小数而言,round()函数仅仅保留到整数位,仅对小数点后一位进行四舍五入。比如:round(1.5)=2.000000,round(1.57)=2.0000002.保留小数用法如果想要保留小数位数可以先乘后除以达到效果举个栗子:#......
  • 记录一个打印内存的日志函数
    在调试代码的时候,经常需要dump一段内存,有时候不得不自己动手写一个函数。现在先记录一个简单版本的内存打印函数。constchar*hexstr="0123456789ABCDEF";voiddump(intlevel,constchar*tag,constuint8_t*data,uint32_tlength){#define_CNT_PER_LINE(1<<4)......