vue watch監(jiān)聽(tīng)對(duì)象及對(duì)應(yīng)值的變化詳解
如下所示:
var vm=new Vue({
data:{
a:1,
b:{
c:1
}
},
watch:{
a(val, oldVal){//普通的watch監(jiān)聽(tīng)
console.log("a: "+val, oldVal);
},
b:{//深度監(jiān)聽(tīng),可監(jiān)聽(tīng)到對(duì)象、數(shù)組的變化
handler(val, oldVal){
console.log("b.c: "+val.c, oldVal.c);//但是這兩個(gè)值打印出來(lái)卻都是一樣的
},
deep:true
}
}
})
vm.a=2
vm.b.c=2
a是一個(gè)普通的值,當(dāng)a的值變化時(shí)會(huì)被監(jiān)聽(tīng)到,b是一個(gè)對(duì)象,不能直接像a那么寫(xiě),需要深度監(jiān)聽(tīng)才能捕捉到,但是當(dāng)我想去捕捉b對(duì)象中某一個(gè)值的變化時(shí)卻發(fā)現(xiàn),打印出來(lái)的兩個(gè)值是不一樣的,如圖:

這樣就只能知道對(duì)象發(fā)生變化卻不知道具體哪個(gè)值發(fā)生了變化,如果想監(jiān)聽(tīng)對(duì)象某一個(gè)值得變化可以利用計(jì)算屬性computed
var vm=new Vue({
data:{
b:{
c:1
}
},
watch:{
newValue(val, oldVal){
console.log("b.c: "+val, oldVal);
}
},
computed: {
newValue() {
return this.b.c
}
}
})
vm.b.c=2
用watch去監(jiān)聽(tīng)computed計(jì)算過(guò)的值就可以直接知道是哪個(gè)對(duì)應(yīng)的值發(fā)生了變化,結(jié)果如圖:

以上這篇vue watch監(jiān)聽(tīng)對(duì)象及對(duì)應(yīng)值的變化詳解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- vue.js使用watch監(jiān)聽(tīng)路由變化的方法
- Vue.js每天必學(xué)之計(jì)算屬性computed與$watch
- vue.js中$watch的用法示例
- vue watch自動(dòng)檢測(cè)數(shù)據(jù)變化實(shí)時(shí)渲染的方法
- 詳解Vue中watch的高級(jí)用法
- vue使用watch 觀察路由變化,重新獲取內(nèi)容
- Vue2.0用 watch 觀察 prop 變化(不觸發(fā))
- Vue數(shù)據(jù)監(jiān)聽(tīng)方法watch的使用
- Vue開(kāi)發(fā)之watch監(jiān)聽(tīng)數(shù)組、對(duì)象、變量操作分析
- vue.js watch經(jīng)常失效的場(chǎng)景與解決方案
相關(guān)文章
詳解Vue如何將多個(gè)空格被合并顯示成一個(gè)空格
這篇文章主要為大家詳細(xì)介紹了在Vue中如何將多個(gè)空格被合并顯示成一個(gè)空格,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-04-04
vue3+ts實(shí)現(xiàn)一個(gè)表單組件的詳細(xì)代碼
這篇文章主要介紹了vue3+ts實(shí)現(xiàn)一個(gè)表單組件的詳細(xì)代碼,確保通過(guò)axios調(diào)用后端接口來(lái)獲取省市區(qū)和街道數(shù)據(jù),并在選擇省市區(qū)時(shí)加載相應(yīng)的街道數(shù)據(jù),需要的朋友可以參考下2024-07-07
淺談vue獲得后臺(tái)數(shù)據(jù)無(wú)法顯示到table上面的坑
這篇文章主要介紹了淺談vue獲得后臺(tái)數(shù)據(jù)無(wú)法顯示到table上面的坑,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-08-08
vue?async?await?promise等待異步接口執(zhí)行完畢再進(jìn)行下步操作教程
在Vue中可以使用異步函數(shù)和await關(guān)鍵字來(lái)控制上一步執(zhí)行完再執(zhí)行下一步,這篇文章主要給大家介紹了關(guān)于vue?async?await?promise等待異步接口執(zhí)行完畢再進(jìn)行下步操作的相關(guān)資料,需要的朋友可以參考下2023-12-12
VUE使用DXFParser組件解析dxf文件生成圖片的操作代碼
這篇文章主要介紹了VUE使用DXFParser組件解析dxf文件生成圖片的操作代碼,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-09-09

