Vue?watch監(jiān)聽使用的幾種方法
一、watch使用的幾種方法
1、 通過 watch 監(jiān)聽 msg 數據的變化。
watch: {
msg(oldValue, newValue) {
console.log(oldValue)
console.log(newValue)
}
}2、通過 watch 監(jiān)聽 obj數據的變化。(深度監(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 數據的變化,數據發(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)聽函數,只有值發(fā)生改變時才會執(zhí)行。如果我們需要在最初綁定值的時候也執(zhí)行函數,則就需要用到immediate屬性。
2、handler屬性
watch中需要具體執(zhí)行的方法
3、deep屬性
當需要監(jiān)聽一個對象的改變時,普通的watch方法無法監(jiān)聽到對象內部屬性的改變,此時就需要deep屬性對對象進行深度監(jiān)聽,數組字符串一般不需要
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)聽內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
vue+elementui 實現上傳文件/導入文件的功能示例詳解
文章介紹了如何使用Vue和Element UI實現上傳文件和導入文件的功能,主要內容包括:上傳組件的使用、data中的數據存儲、methods中的方法(選擇文件、點擊確定上傳文件、刪除文件),文章還提供了相關鏈接供進一步學習,感興趣的朋友一起看看吧2025-03-03
Vue使用Antd中a-table實現表格數據列合并展示示例代碼
文章介紹了如何在Vue中使用Ant?Design的a-table組件實現表格數據列合并展示,通過處理函數對源碼數據進行操作,處理相同數據時合并列單元格2024-11-11

