【Vue .js 計算屬性和偵聽器】vue.js看着官方文檔的從0開始瞎摸學習

計算屬性 vs 方法

對於任何複雜邏輯,你都應當使用計算屬性
計算屬性是基於它們的響應式依賴進行緩存的
clipboard.png
這給例子中,計算屬性的getter函數是沒有反作用的,當咱們改變實例的message時,無論是調用method的函數仍是計算屬性的getter函數,獲得的結果都是同樣的。可是,計算屬性是基於它們的響應式依賴進行緩存的,計算屬性緩存只要message沒有改變,屢次訪問reversedMessage會當即返回以前的計算結果,可是method總會再次執行函數。
假設咱們有一個性能開銷比較大的計算屬性 A,它須要遍歷一個巨大的數組並作大量的計算。而後咱們可能有其餘的計算屬性依賴於 A 。若是沒有緩存,咱們將不可避免的屢次執行 A 的 getter!若是你不但願有緩存,請用方法來替代。數組

計算屬性 vs 偵聽屬性

clipboard.png
clipboard.png
watch代碼是命令式且重複的,計算屬性的代碼要簡單的多緩存

計算屬性的getter

clipboard.png

clipboard.png
setter函數的調用可讓vm3.firstName和vm3.lastName相應地被更新異步

偵聽器

雖然計算屬性在大多數狀況下更合適,但有時也須要一個自定義的偵聽器。這就是爲何 Vue 經過 watch 選項提供了一個更通用的方法,來響應數據的變化。當須要在數據變化時執行異步或開銷較大的操做時,這個方式是最有用的。函數

相關文章
相關標籤/搜索