vue 中 watch 用于觀察數據變化并執行回調函數,而 computed 用于創建基于其他響應式數據的計算屬性。
Vue 中 watch 和 computed 的區別
簡單回答:
watch 用于觀察數據變化并執行回調函數,而 computed 用于創建基于其他響應式數據的計算屬性。
詳細回答:
watch
用途:監聽一個或多個響應式數據的變化并執行回調函數。
優點:
可以處理復雜的數據變化,例如數組或對象的改變。
允許執行異步操作或其他自定義邏輯。
缺點:
每當被監視的數據發生變化時都會觸發回調,這可能導致大量不必要的重新渲染。
computed
用途:創建基于其他響應式數據的計算屬性。
優點:
只有當依賴的數據發生變化時才會重新計算。
緩存計算值,提高性能。
可以在模板中直接使用,就像普通的數據一樣。
缺點:
無法直接監聽數組或對象的改變,需要使用輔助方法(例如 useRefs)。
總結:
使用 watch:需要在數據發生變化時執行自定義邏輯或異步操作時。
使用 computed:需要創建基于其他響應式數據的計算屬性,并且希望在依賴數據變化時自動更新時。