computed和methods的區(qū)別

computed

computed屬性是vue的計算屬性,是數(shù)據(jù)層到視圖層的數(shù)據(jù)轉(zhuǎn)化反映;

計算屬性是基于他們的依賴進行緩存的,只有在相關依賴發(fā)生改變時,他們才會重新求值,也就是說,只要他的依賴沒有發(fā)生變化,那么每次訪問的時候計算屬性都會立即返回之前的計算結果,不再執(zhí)行函數(shù);

區(qū)別

1.computed是響應式的,methods并非響應式。

2.調(diào)用方式不一樣,computed定義的成員是像屬性一樣訪問,methods定義的成員必須以函數(shù)形式調(diào)用。

3.computed是帶緩存的,只有依賴數(shù)據(jù)發(fā)生改變,才會重新進行計算,而methods里的函數(shù)在每次調(diào)用時都要執(zhí)行。

4.computed中的成員可以只定義一個函數(shù)作為只讀屬性,也可以定義get/set變成可讀屬性,這點是methods的成員做不到的。

5.computed不支持異步,當computed內(nèi)有異步操作時無效,無法監(jiān)聽數(shù)據(jù)的變化

注意

如果聲明的計算屬性計算量非常大的時候,而且訪問量次數(shù)非常多,改變的時機卻很小,那就需要用到computed;緩存會讓我們減少很多計算量。

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容