vue watch普通監(jiān)聽和深度監(jiān)聽實例詳解(數(shù)組和對象)
下面通過一段代碼給大家介紹vue watch的普通監(jiān)聽和深度監(jiān)聽,具體代碼如下所示:
var vm=new Vue({
data:{
num:1,
obj:{
name:'三兒',
age:'21',
sex:'女'
}
},
watch:{
num(val, oldVal){
//普通的watch監(jiān)聽
console.log(“num: “+val, oldVal);
},
obj:{
//深度監(jiān)聽,可監(jiān)聽到對象、數(shù)組的變化
handler(val, oldVal){
console.log(“obj.name: “+val.name, oldVal.name);
},
deep:true
}
}
})
vm.num=2
vm.obj.name='二兒'
下面單獨給大家介紹下vue-watch 深度監(jiān)聽
watch:{} 對象,可監(jiān)聽數(shù)據(jù),數(shù)據(jù)發(fā)生變化, 處理函數(shù)
目的: watch雖可監(jiān)聽,但只是淺監(jiān)聽,只監(jiān)聽數(shù)據(jù)第一層或者第二層,
何為第二層?
let obj = {name: 'xx', child: {age: 11}};
child之后的值就為第二層或者深層
實現(xiàn)目標: 如果 要監(jiān)聽一個對象中的屬性,屬性最高也是第二層了,watch可能監(jiān)聽不到,
所有要使用深度監(jiān)聽:
實現(xiàn)代碼:
watch: {
' user.phone ' : {
handel:function() { //特別注意,不能用箭頭函數(shù),箭頭函數(shù),this指向全局
處理函數(shù)
},
deep: true //深度監(jiān)聽
}
}
總結(jié)
以上所述是小編給大家介紹的vue watch普通監(jiān)聽和深度監(jiān)聽實例詳解(數(shù)組和對象),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
Vue使用.sync 實現(xiàn)父子組件的雙向綁定數(shù)據(jù)問題
這篇文章主要介紹了Vue使用.sync 實現(xiàn)父子組件的雙向綁定數(shù)據(jù),需要的朋友可以參考下2019-04-04
Ant Design Vue 添加區(qū)分中英文的長度校驗功能
這篇文章主要介紹了Ant Design Vue 添加區(qū)分中英文的長度校驗功能,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下功能,2020-01-01

