vue2侦听器(watch)的基本使用

编程入门 行业动态 更新时间:2024-10-08 03:26:48

vue2<a href=https://www.elefans.com/category/jswz/34/1739293.html style=侦听器(watch)的基本使用"/>

vue2侦听器(watch)的基本使用

侦听器是用于侦听数据变化的,每次被侦听的数据发生变化,被侦听数据的对应函数都会被执行一次。

watch侦听数据分两种情况,一种是简单数据类型,另一种是复杂数据类型。

情况1,简单数据类型侦听


<button @click='a++'></button>data () {return {a: 2};
},
watch:{
a(newval,oldval){
console.log(newval,oldval)
}
}输出:3 2

这种写法是简单写法,用于侦听简单数据类型。

格式为:

wactch:{}被侦听数据(){}new,oldvalval new其中neewval 是被侦听数据改变之后的新数据,oldval是被侦听数据改变之后的新数据前的数据。

情况2:,复杂数据类型侦听


<button @click='a.s++'></button>data () {return {a: {s:3,d:7}};
},
watch:{
a:{
immediate:true,
deep:true,
handler(Val){console.log(Val)}
}
}输出:{s:4,d:7}

这种写法也是侦听器的完整写法,用于侦听复杂数据类型内发生变化,也可以用于侦听简单数据类型。

watch的完整写法为:

被侦听数据:{

immediate:true或者false,

deep:true或false,

handler(Val){ }

}

其中,immediate若为true则进入页面立即侦听一次,

deep为true则表示开启深度侦听,这时复杂数据类型里面的任何数据变化都会触发侦听,

handler就是每次触发侦听之后执行的函数,里面的Val是更新之后的新数据。

注意:复杂数据类型的数组若被侦听,被侦听数组使用下标修改数组内数据,侦听器不会被触发,

例:数组A=[1,2,3] 修改:A[0] = 0

上面的方法不会触发侦听器,数组的push,unshift,shift等等方法可以正常的触发侦听器。

更多推荐

vue2侦听器(watch)的基本使用

本文发布于:2024-02-07 03:59:43,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1753036.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:侦听器   watch

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!