computed:
computed是計算屬性,依賴其他的屬性值,並且computed的屬性值有緩存屬性,當屬性值變化的時候,下一次獲取computed屬性的時候纔會重新計算computed的值。
watch:
更多的是一種觀察的作用,用於監聽某些數據的回調。每當所監聽的數據發生變化時才能執行回調處理後續操作。
運用場景:
-
當我們需要進行數值計算,並且依賴於其它數據時,應該使用 computed,因爲可以利用 computed 的緩存特性,避免每次獲取值時,都要重新計算;
-
當我們需要在數據變化時執行異步或開銷較大的操作時,應該使用 watch,使用 watch 選項允許我們執行異步操作 ( 訪問一個 API ),限制我們執行該操作的頻率,並在我們得到最終結果前,設置中間狀態。這些都是計算屬性無法做到的。