Vue?watch監(jiān)聽使用的幾種方法
一、watch使用的幾種方法
1、 通過 watch 監(jiān)聽 msg 數(shù)據(jù)的變化。
watch: {
msg(oldValue, newValue) {
console.log(oldValue)
console.log(newValue)
}
}2、通過 watch 監(jiān)聽 obj數(shù)據(jù)的變化。(深度監(jiān)聽 deep)
data() {
return {
obj: {
'name': "趙",
'age': 18
},
}
},
watch: {
obj: {
handler(oldValue,newVal) {
console.log(oldValue)
console.log(newValue)
},
deep: true // 深度監(jiān)聽
}
}3、通過 watch 監(jiān)聽 data 數(shù)據(jù)的變化,數(shù)據(jù)發(fā)生變化時,執(zhí)行 change 方法
watch: {
data: 'change' // 值可以為methods的方法名
},
methods: {
change(oldVal,newVal){
console.log(oldVal,newVal)
}
}二、watch中的immediate與handler和deep屬性
1、immediate屬性
使用watch時有一個特點,就是當值第一次綁定時,不會執(zhí)行監(jiān)聽函數(shù),只有值發(fā)生改變時才會執(zhí)行。如果我們需要在最初綁定值的時候也執(zhí)行函數(shù),則就需要用到immediate屬性。
2、handler屬性
watch中需要具體執(zhí)行的方法
3、deep屬性
當需要監(jiān)聽一個對象的改變時,普通的watch方法無法監(jiān)聽到對象內(nèi)部屬性的改變,此時就需要deep屬性對對象進行深度監(jiān)聽,數(shù)組字符串一般不需要
data() {
return {
obj: {
'name': "王",
'age': 18
},
}
},
watch: {
obj: {
// 執(zhí)行方法
handler(oldValue,newVal) {
console.log(oldValue)
console.log(newValue)
},
deep: true, // 深度監(jiān)聽
immediate: true // 第一次改變就執(zhí)行
}
// 如果只需要監(jiān)聽對象中的一個屬性值,則可以做以下優(yōu)化:使用字符串的形式監(jiān)聽對象屬性:
'obj.name': {
// 執(zhí)行方法
handler(oldValue,newVal) {
console.log(oldValue)
console.log(newValue)
},
deep: true, // 深度監(jiān)聽
immediate: true // 第一次改變就執(zhí)行
}
}到此這篇關于Vue watch監(jiān)聽使用的幾種方法的文章就介紹到這了,更多相關Vue watch監(jiān)聽內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
vue+vant使用圖片預覽功能ImagePreview的問題解決
這篇文章主要介紹了vue+vant使用圖片預覽功能ImagePreview的問題解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-04-04
vue項目拍照或上傳圖片并實現(xiàn)轉(zhuǎn)化為base64格式
這篇文章主要介紹了vue項目拍照或上傳圖片并實現(xiàn)轉(zhuǎn)化為base64格式方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-11-11
在vue中把含有html標簽轉(zhuǎn)為html渲染頁面的實例
今天小編就為大家分享一篇在vue中把含有html標簽轉(zhuǎn)為html渲染頁面的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-10-10

