watch:
觀測Vue實例上的數據變動,對應一個對象,
鍵:就是需要監測的那個東西,
值:
1.可以是當鍵變化時執行的函數,有兩個參數,第一個是變化前的值,第二個是變化后的值。
2.可以是函數名,得用單引號包裹。
3.可以是一個對象,這個對象有三個選項:
(1)handler :一個回調函數,監聽到變化時應該執行的函數。
(2)deep :boolean值,是否深度監聽。(一般監聽時是不能監聽到對象屬性值的變化的,數組的變化可以聽到)
(3)immediate :boolean值,是否立即執行handler函數。
watch的三種情況:
1. 普通的watch:
el:'#app', data:{ meter:1000, kilameter:1 }, watch:{ meter:function(val){ this.kilameter = val * 0.1; }, kilameter:function(val){ this.meter = val *1000; } } })
2.數組的watch:
el:'#app', data:{ arr:[1,2,3] }, watch:{ arr:function(oldV,newV){ console.log(oldV); console.log(newV); } } })
3.對象的watch:
el:'#app', data:{ obj : { a:111, b:222 } }, watch:{ obj:{ handler:function(oldV,newV){ console.log(oldV); }, deep:true } } )