watch是一個偵聽器,宣告在裡面的函式命名要跟data
或computed
的屬性相對應,watch會偵聽指定的資料,一有變動就觸發watch裡的函式。
函式裡可以傳入兩個參數:第一個是new value
,第二個是old value
:
const vm= new Vue({
el:"#app",
data:{
value: 0
},
watch:{
value(val, oldVal){
console.log(`${oldVal} -> ${val}`);
}
}
});
watch
跟computed
一樣,可以更進一步宣告為物件,原本的內容宣告成handler函式,其他屬性immediate
及deep
選擇使用 :
watch:{
value:{
handler(val,oldVal){
},
immediate: true,//是否在vue實例初始化的時候跑watch
deep: true,//是否偵聽屬性下的陣列或物件值的改變
}
}
watch到這兒,下篇生命週期函式