面試題系列---【watch、methods 和 computed 的區別】


1.定義

computed**: 是計算屬性,依賴其它屬性值,並且 computed 的值有緩存,只有它依賴的屬性值發生改變,下一次獲取 computed 的值時才會重新計算 computed 的值;

watch:一個對象,鍵是須要觀察的表達式(data中的數據),值是對應的回調函數,用來監聽某些特定的數據變化,從而進行某些特定的業務邏輯操做。

methods:表示一系列具體的操做,適合書寫大量的業務邏輯

2.區別

1..三者的加載順序

  1. computed 是在 HTML DOM 加載后馬上執行的,如賦值;(屬性將被混入到 Vue 實例)
  2. methods 則必須要有一定的觸發條件才能執行,如點擊事件
  3. watch它用於觀察 Vue 實例上的數據變動,當數據改變時,函數才會執行。

2.默認加載的時候 先 computed 再 watch,不執行 methods;

3.觸發某一事件后 先 computed 再 methods 再到 watch computed 屬性 vs method 方法 computed 計算屬性是基於它們的依賴進行緩存的。

4.computed數據發生改變時-beforeupdate鈎子函數中;watch是在數據加載完成后才能監聽---mounted鈎子函數中;methods將data中屬性和methods身上的方法添加到vue的實例身上---created鈎子函數中

5.watch和methods在data里邊定義了才能夠使用;而computed里面定義了就不能夠在data里面定義

6.computed必定要有return值;watch沒有return值


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM