computed和watch
阿新 • • 發佈:2021-10-18
一:computed
依賴其他屬性計算值,當值發生變化時才會進行計算,只要值不變化,訪問時返回的結果還是以前返回的結果而不會重新計算。但是計算屬性不支援非同步,當comouted中有非同步操作時是無效的,無法監聽資料的變化。
和watch區別:計算屬性初始化的時候就可以被監聽到並計算,但是watch是監聽的值發生變化了才會被觸發。
二:watch
初始化時候就執行
money: { handler() { this.msg++ }, immediate: true } // 將資料寫成物件的形式,包含handler和immediate,immediate表示在watch中首次繫結資料的時候是否執行handler,值為true的時候則執行。當watch被宣告時就立即執行。
deep深度監聽
設定deep為true,就可以監聽到物件下key的變化
data() { return { msg:{ name: "張三" age:30 } } }, watch:{ msg:{ handler(val) { console.log(val) }, deep: true } }