1. 支持緩存,只有依賴數據發生改變,纔會從新進行計算vue
2. 不支持異步,當computed內有異步操做時無效,沒法監聽數據的變化數組
3. computed 屬性值會默認走緩存,計算屬性是基於它們的響應式依賴進行緩存的,也就是基於data中聲明過或者父組件傳遞的props中的數據經過計算獲得的值緩存
4. 若是一個屬性是由其餘屬性計算而來的,這個屬性依賴其餘屬性,是一個多對一或者一對一,通常用computed異步
5. 若是computed屬性屬性值是函數,那麼默認會走get方法;函數的返回值就是屬性的屬性值;在computed中的,屬性都有一個get和一個set方法,當數據變化時,調用set方法。ide
偵聽屬性watch:
1. 不支持緩存,數據變,直接會觸發相應的操做;函數
2. watch支持異步;對象
3. 監聽的函數接收兩個參數,第一個參數是最新的值;第二個參數是輸入以前的值;get
4. 當一個屬性發生變化時,須要執行對應的操做;一對多;回調函數
5. 監聽數據必須是data中聲明過或者父組件傳遞過來的props中的數據,當數據變化時,觸發其餘操做,函數有兩個參數,it
immediate:組件加載當即觸發回調函數執行,
deep: 深度監聽,爲了發現對象內部值的變化,複雜類型的數據時使用,例如數組中的對象內容的改變,注意監聽數組的變更不須要這麼作。注意:deep沒法監聽到數組的變更和對象的新增,參考vue數組變異,只有以響應式的方式觸發纔會被監聽到。