解讀計算屬性和watch監(jiān)聽的區(qū)別及說明
計算屬性和watch監(jiān)聽的區(qū)別
計算屬性在調(diào)用時需要在模板中渲染
watch在調(diào)用時只需修改數(shù)據(jù)
計算屬性默認(rèn)深度依賴,watch默認(rèn)淺度觀測
計算屬性適合做篩選,不可異步;watch適合做執(zhí)行異步或開銷較大的操作
computed
我們?nèi)サ谝淮问褂糜嬎銓傩缘臅r候,會執(zhí)行計算屬性并進(jìn)行計算,然后將計算的結(jié)果緩存起來。
后續(xù)當(dāng)我們再去使用計算屬性的時候,如果計算屬性中使用到的據(jù)沒有發(fā)生變化,那么就會直接讀取緩存的結(jié)果,不會重新計算。
watch
當(dāng)需要在數(shù)據(jù)變化時執(zhí)行異步或開銷較大的操作時,使用watch監(jiān)聽是最有用的;
使用 watch 監(jiān)聽允許我們執(zhí)行異步操作 (訪問一個 API),限制我們執(zhí)行該操作的頻率,并在我們得 到最終結(jié)果前,設(shè)置中間狀態(tài)。這些都是計算屬性無法做到的;
設(shè)置{immediate: true }屬性 將立即以表達(dá)式的當(dāng)前值觸發(fā)回調(diào)
什么是深度監(jiān)聽
Deep是深入觀察,監(jiān)聽器會一層層的往下遍歷,給對象的所有屬性都加上這個監(jiān)聽器
但是這樣性能開銷就會非常大了,任何修改obj里面任何一個屬性都會觸發(fā)這個監(jiān)聽器
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
vue實現(xiàn)滑動切換效果(僅在手機(jī)模式下可用)
這篇文章主要為大家詳細(xì)介紹了vue實現(xiàn)滑動切換效果,僅在手機(jī)模式下可用,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-07-07
vue點擊右鍵出現(xiàn)自定義操作菜單實現(xiàn)代碼
這篇文章主要給大家介紹了關(guān)于vue點擊右鍵出現(xiàn)自定義操作菜單實現(xiàn)的相關(guān)資料,在網(wǎng)頁中我們也希望可以像桌面軟件一樣,點擊右鍵后出現(xiàn)操作菜單,對選中的數(shù)據(jù)項進(jìn)行相應(yīng)的操作,需要的朋友可以參考下2023-08-08
vue3結(jié)合typescript中使用class封裝axios
這篇文章主要為大家介紹了vue3結(jié)合typescript中使用class封裝axios實現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06

