1. Vue watch 概述
Vue 的 watch 偵聽器格式有兩種:方法格式
和對象格式
的偵聽器。文章來源地址http://www.zghlxwxcb.cn/news/detail-432209.html
- 方法格式的偵聽器只能
監(jiān)聽簡單數(shù)據(jù)類型
,如:Number、String
、… 無法監(jiān)聽對象屬性的變化,也不能在進(jìn)入頁面時,自動觸發(fā); - 對象格式的偵聽器可以監(jiān)聽
對象屬性
的變化。在一定條件下,載入頁面時,也可監(jiān)聽數(shù)據(jù)變化;
2. Vue 對象的監(jiān)聽方法
- 鍵名分割,監(jiān)聽對象的
某一個屬性
變化;
屬性名通過.
與對象分割,并通過引號
包裹,可以監(jiān)聽對象的某一個屬性
data() {
return {
obj:{
name:'andy',
age:18
}}},
watch:{
'obj.name'(newval.oldval) {
// 代碼實現(xiàn)
}
}
- computed + watch,監(jiān)聽對象的
某一個
屬性變化;
computed:{
ageVal() {
return this.obj.age;
}
}
watch:{
ageVal(newval,oldval) {
// 代碼實現(xiàn)
}
}
- deep 深度監(jiān)聽,監(jiān)聽對象的
所有屬性
變化;-
deep:true
開啟深度監(jiān)聽,任意屬性的屬性值變化,都會觸發(fā) deep 深度監(jiān)聽; - deep 深度監(jiān)聽只能獲取到最新值;
- 不推薦 deep 深度監(jiān)聽,容易造成頁面卡頓,因為deep 深度偵聽需要遍歷被偵聽對象中的所有嵌套的屬性;
-
obj:{
handler(val) {
// 代碼實現(xiàn) val 值是 obj 整個對象
},
deep:true // deep 為 true 時,開啟深度監(jiān)聽
// immediate:false 當(dāng)immediate 值為 true 時,剛載入頁面時,也可監(jiān)聽數(shù)據(jù)的變化
}
文章來源:http://www.zghlxwxcb.cn/news/detail-432209.html
到了這里,關(guān)于Vue-watch 偵聽對象屬性的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!