Vue中computed和watch的區別(轉載)
computed
- 支援快取,只有依賴資料發生改變,才會重新進行計算
- 不支援非同步,當computed內有非同步操作時無效,無法監聽資料的變化
- computed 屬性值會預設走快取,計算屬性是基於它們的響應式依賴進行快取的,也就是基於data中宣告過或者父元件傳遞的props中的資料通過計算得到的值
- 如果一個屬性是由其他屬性計算而來的,這個屬性依賴其他屬性,是一個多對一或者一對一,一般用computed
- 如果computed屬性屬性值是函式,那麼預設會走get方法;函式的返回值就是屬性的屬性值;在computed中的,屬性都有一個get和一個set方法,當資料變化時,呼叫set方法。
watch
- 不支援快取,資料變,直接會觸發相應的操作;
- watch支援非同步
- 監聽的函式接收兩個引數,第一個引數是最新的值;第二個引數是輸入之前的值;
- 當一個屬性發生變化時,需要執行對應的操作;一對多;
- 監聽資料必須是data中宣告過或者父元件傳遞過來的props中的資料,當資料變化時,觸發其他操作,函式有兩個引數, immediate:元件載入立即觸發回撥函式執行, deep:
深度監聽,為了發現物件內部值的變化,複雜型別的資料時使用,例如陣列中的物件內容的改變,注意監聽陣列的變動不需要這麼做。注意:deep無法監聽到陣列的變動和物件的新增,參考vue陣列變異,只有以響應式的方式觸發才會被監聽到。
當需要在資料變化時執行非同步或開銷較大的操作時,這個方式是最有用的。這是和computed最大的區別,請勿濫用。
計算屬性VS偵聽屬性
日常工作經常用到的是
相關文章
- vue中computed/method/watch的區別Vue
- Vue中computed、methods和watch之間的區別Vue
- vue watch 和 computed 區別與使用Vue
- vue中methods,computed,watch方法的區別Vue
- Vue中watch、computed與methods的聯絡和區別Vue
- computed 和 watch的區別??
- computed和watch的區別
- Vue 基礎自查——watch、computed和methods的區別Vue
- Vue常考知識點--computed 和 watch 區別Vue
- Vue.js 的 computed 屬性和 watch 的區別在哪裡?Vue.js
- vue之computed和watchVue
- Vuejs中關於computed、methods、watch的區別VueJS
- Vue中計算屬性computed與偵聽器watch的區別Vue
- vue原始碼中computed和watch的解讀Vue原始碼
- Vue.js中 computed 和 methods 的區別Vue.js
- vue2.x版本中computed和watch的使用入門詳解-關聯和區別Vue
- Vue中computed的本質—lazy WatchVue
- Vue computed 與 watchVue
- 端午總結Vue3中computed和watch的使用Vue
- watch和computed
- vue2.x版本中computed和watch的使用入門詳解-computed篇Vue
- vue2.x版本中computed和watch的使用入門詳解-watch篇Vue
- Vue核心知識-computed和watch的使用場景和方法Vue
- vue入門筆記體系(四)computed和watchVue筆記
- computed watcher和user watcher的區別
- computed vs watch
- Vue.js 深入理解 computed 與 watchVue.js
- [vue] computed 和 methodVue
- 前端【VUE】03-vue【computed 計算屬性】【watch 偵聽器】前端Vue
- vue2.0中的:is和is的區別Vue
- Vue中computed分析Vue
- vue中的computed屬性Vue
- 【轉載】Maven中-DskipTests和-Dmaven.test.skip=true的區別Maven
- 在微信小程式裡使用 watch 和 computed微信小程式
- [轉載] 整理下java中stringBuilder和stringBuffer兩個類的區別JavaUI
- Vue原理解析(九):搞懂computed和watch原理,減少使用場景思考時間Vue
- VUE的兩種跳轉push和replace對比區別Vue
- 深入解析Vue中的computed工作原理Vue