vue 中的computed和watch

計算屬性
經過計算得來的屬性
computed:是一個計算屬性,用來監聽屬性的變化
computed裏面的方法調用的時候是不須要加() 另外裏面的方法必需要有一個返回值
 
computed裏面的方法不是經過事件來去觸發的,
而是當屬性(必須是data中的屬性)發生了改變的時候那麼當前函數就會被觸發
computed最大的特色是當屬性若是沒有發生改變的時候,當前方法的值會從緩存中讀取
watch 監聽
watch:
用來監聽每個屬性的變化
watch這個對象裏面都是函數,函數的名稱是data中的屬性名稱,watch中的函數是不須要調用的
當屬性發生改變那麼就會觸發watch中的函數,每個函數都會接受到2個值 一個值是新值 另一個值想舊值
 
咱們能夠在watch當中進行新舊值的判斷來減小虛擬DOM的渲染
 
只要當前是屬性發生改變就會觸發它所對應的函數
 
若是咱們須要對對象進行監聽的時候須要將屬性設置爲key值 val值爲一個對象
對象中有2個參數是必填 一個是handler函數 一個是deep爲true 這樣才能實現深度監聽
區別
computed與watch的區別?
一、computed在調用的時候不須要加() , watch是不須要調用的
二、computed若是屬性沒有發生改變的時候會從緩存中讀取值 , watch當屬性發生改變的
時候會接受到2個值 一個爲新值 一個爲舊值
三、computed裏面的函數必需要有一個return的結果
四、watch若是須要監聽對象的狀況下必須設置深度監聽
五、命名:computed裏面函數的名稱能夠隨意命名,可是watch中函數的名稱必須是data中屬性的名稱
相關文章
相關標籤/搜索