解讀計算屬性和watch監(jiān)聽的區(qū)別及說明
計算屬性和watch監(jiān)聽的區(qū)別
計算屬性在調用時需要在模板中渲染
watch在調用時只需修改數(shù)據(jù)
計算屬性默認深度依賴,watch默認淺度觀測
計算屬性適合做篩選,不可異步;watch適合做執(zhí)行異步或開銷較大的操作
computed
我們去第一次使用計算屬性的時候,會執(zhí)行計算屬性并進行計算,然后將計算的結果緩存起來。
后續(xù)當我們再去使用計算屬性的時候,如果計算屬性中使用到的據(jù)沒有發(fā)生變化,那么就會直接讀取緩存的結果,不會重新計算。
watch
當需要在數(shù)據(jù)變化時執(zhí)行異步或開銷較大的操作時,使用watch監(jiān)聽是最有用的;
使用 watch 監(jiān)聽允許我們執(zhí)行異步操作 (訪問一個 API),限制我們執(zhí)行該操作的頻率,并在我們得 到最終結果前,設置中間狀態(tài)。這些都是計算屬性無法做到的;
設置{immediate: true }屬性 將立即以表達式的當前值觸發(fā)回調
什么是深度監(jiān)聽
Deep是深入觀察,監(jiān)聽器會一層層的往下遍歷,給對象的所有屬性都加上這個監(jiān)聽器
但是這樣性能開銷就會非常大了,任何修改obj里面任何一個屬性都會觸發(fā)這個監(jiān)聽器
總結
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Vue 列表頁帶參數(shù)進詳情頁的操作(router-link)
這篇文章主要介紹了Vue 列表頁帶參數(shù)進詳情頁的操作(router-link),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11
nuxt.js 在middleware(中間件)中實現(xiàn)路由鑒權操作
這篇文章主要介紹了nuxt.js 在middleware(中間件)中實現(xiàn)路由鑒權操作,具有很好的參考價值,希望大家有所幫助。一起跟隨小編過來看看吧2020-11-11
nuxt 服務器渲染動態(tài)設置 title和seo關鍵字的操作
這篇文章主要介紹了nuxt 服務器渲染動態(tài)設置 title和seo關鍵字的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11

