1. 程式人生 > >vue中的computed 與 watch

vue中的computed 與 watch

另一個 對象 key 屬性設置 自然 命名 實現 compute ted

計算屬性 computed
指通過計算得來的屬性,用於監聽屬性的變化
computed裏面的函數調用的時候 不需要加()
方法裏必須有一個返回值 return
computed中的函數不會通過事件去觸發的,而是當屬性(必須是data中的屬性)發生改變的時候,computed裏面的函數就自然而然的去觸發
computed最大的特點就是 當屬性狀態未發生改變的時候。當前的函數會從緩存中讀取

監聽屬性 watch
用於監聽每一個屬性的變化
watch這個對象裏面都是函數,函數的名稱一定是 data中屬性的名稱 。 watch中函數是不需要調用的

我們可以在watch中進行新舊值的判斷 從而來減少虛擬DOM的渲染
只要當前屬性發生改變就會觸發 與之對應的函數
若我們需要對對象進行監聽 , 需要將屬性設置為 key 值 , val 為一個對象 且對象中有兩個參數必寫 , 一個數handle函數, 一個為 deep = true 從而實現深度監聽

computed 與 watch 區別
1 computed中的函數調用是不需要()的 , 而watch是不需要進行函數調用的
2. 當屬性沒有發生改變的時候 ,computed中的函數會從 緩存 中讀取值 當屬性發生改變的時候,watch中的函數會接受兩個參數,一個代表 新值,另一個代表舊值

3. watch 若需要監聽對象,必須使用 深度監聽
4. computed 中的函數必須要帶有返回值 return
5. 命名: computed 中的函數命名是任意的 , watch中的函數名必須是 data 中參數的名

vue中的computed 與 watch