欢迎大家来到IT世界,在知识的湖畔探索吧!
vue3.x使用 watch 选项侦听数组时,只有在数组被替换时才会触发回调。在数组被改变时侦听回调将不再触发。要想在数组被改变时触发侦听回调,必须指定 deep 选项。
一、什么意思呢?来看看不加deep 的情况
把deep加上
不加deep,但是替换数组也会正常触发
二、来看看vue2的,加不加deep。替换数组、改变数组都可以触发watch 侦听回调
<div id="app"> <p v-for="item in arr">{{item}}</p> <button @click="changeArr">更改数组</button> </div>
欢迎大家来到IT世界,在知识的湖畔探索吧!
欢迎大家来到IT世界,在知识的湖畔探索吧!//vue2 var app=new Vue({ data:{ arr:[1,2] }, methods:{ changeArr(){ this.arr.push(3) //改变数组 // this.arr=[1,2,3] //替换数组 } }, watch: { arr:{ handler: function (val, oldVal) { console.log('数组改变了') }, } } }) app.$mount('#app')
总结:vue3.x把deep都加上吧,一点小差别
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/79082.html