1.watch:用來監聽每一個屬性的變化
2.watch這個對象里面都是函數,函數的名稱是data中的屬性名稱,watch中的函數不需要調用
3.當屬性發生改變那么就會觸發watch函數,每個函數都會接受兩個值,一個是新值,一個是舊值
4.我們可以在watch當中就行新舊值的判斷來減少虛擬dom的渲染
eg:
watch:{
a(newVal,oldVal){
if(newVal != oldVal){
this.sum = newVal+this.b;
}
console.log("a發生了改變",newVal,oldVal)
}
5.只要是當前的屬性值發生改變就會觸發它所對應的函數
6.如果我們需要對對象進行監聽的時候需要將屬性值設置為key值,val值為一個對象,對象中有兩個參數是必填,一個是handler函數,一個是deep為true,這樣才能實現深度監聽
eg:
obj:{
handler(newVal){
console.log("obj發生了改變",newVal)
},
deep:true
}
