vue?watch監(jiān)聽方法總結(jié)
在vue中,使用watch來響應(yīng)數(shù)據(jù)的變化,關(guān)于watch的用法大致有三種。
1.vue中的watch作用就如其命名就是監(jiān)聽的作用
比如有個對象:
watchData: {
name: '',
age: '',
}
2.監(jiān)聽這個對象的屬性
watchData: {
handler: function() {
console.log();
},
deep: true
}
監(jiān)聽對象可以用deep,深度監(jiān)測,不然監(jiān)測不到對象的變化
3.監(jiān)聽這個對象的屬性
方式一:
watch: {
'watchData.name'(newValue, oldValue) {
console.log(newValue);
}
}
方式二:
watch: {
'watchData.name': {
handler: function() {
console.log();
}
}
},
為什么要監(jiān)聽對象的屬性,監(jiān)聽對象的話,一旦對象內(nèi)部的任何數(shù)據(jù)變化,都會導(dǎo)致watch重新執(zhí)行,這樣的話可能不是你想要的監(jiān)聽某一個屬性變化才執(zhí)行watch,或者是一旦說對象內(nèi)部任何一個屬性變化就讓其watch執(zhí)行,也會對性能有一定性的損耗,所以我們用這種監(jiān)聽對象單個屬性的方式來處理,給要監(jiān)聽的“對象.屬性,用引號包裹起來”
4.監(jiān)聽這個對象的屬性
computed: {
getName() {
return this.watchData.name
}
},
watch: {
getName(newValue, oldValue) {
console.log(newValue);
}
},
這種方式其實和第二種是一樣的,區(qū)別就是用到了computed,然后再監(jiān)聽方法getName,實際上方法getName返回的就是watchData對象中的name屬性
到此這篇關(guān)于vue watch監(jiān)聽方法總結(jié)的文章就介紹到這了,更多相關(guān)vue watch監(jiān)聽方法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
在使用vue-cli創(chuàng)建vue項目,如何添加和刪除預(yù)置配置
這篇文章主要介紹了在使用vue-cli創(chuàng)建vue項目,如何添加和刪除預(yù)置配置問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-10-10
解決iview多表頭動態(tài)更改列元素發(fā)生的錯誤的方法
這篇文章主要介紹了解決iview多表頭動態(tài)更改列元素發(fā)生的錯誤的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-11-11
vue-resource?獲取本地json數(shù)據(jù)404問題的解決
這篇文章主要介紹了vue-resource?獲取本地json數(shù)據(jù)404問題的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-10-10

