watch顧名思義,用於監聽資料變化,其中可以監聽的資料來源有三個部分:props、data、computed內的資料;watch提供兩個參數(newValue,oldValue),第一個參數是新值,第二個參數保存舊值;
computed用於處理複雜的邏輯運算,主要和methods儲存方法來進行區分;methods儲存方法,,computed儲存需要處理的資料值;methods每次都會調用,computed有快取機制,只有改變時才執行,效能更佳;
vue中computer與watch區別:
##計算屬性computed : 1. 支援緩存,只有依賴資料發生改變,才會重新進行計算2. 不支援非同步,當computed內有非同步操作時無效,無法監聽資料的變化3.computed 屬性值會預設走緩存,計算屬性是基於它們的響應式依賴進行緩存的,也就是基於data中聲明過的資料透過計算得到的4 . 如果一個屬性是由其他屬性計算而來的,這個屬性依賴其他屬性,是一個多對一或者一對一,一般用computed5.如果computed屬性屬性值是函數,那麼默認會走get方法;函數的回傳值就是屬性的屬性值;在computed中的,屬性都有一個get和一個set方法,當資料改變時,呼叫set方法。 偵聽屬性watch:1. 不支援緩存,資料變,直接會觸發對應的操作;2.watch支援非同步;3.監聽的函數接收兩個參數,第一個參數是最新的值;第二個參數是輸入先前的值;4. 當一個屬性改變時,需要執行對應的操作;一對多;以上是vue中computer與watch區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!