vue中watch如何監控對象的屬性、Watch和computed的區別 ...
1、普通的watch
2、對象屬性的watch:
對象和數組都是引用類型,引用類型變數存的是地址,地址沒有變,所以不會觸發watch。這時我們需要進行深度監聽,就需要加上一個屬性 deep,值為 true
註意:只要對象的屬性發生變化,就會執行handler函數;如果將監聽對象中的具體屬性,則可以通過計算屬性computed作為中間層進行監聽,例如:
Watch和computed的區別
- Watch
watch用於觀察和監聽頁面上的vue實例,當你需要在數據變化響應時,執行非同步操作,或高性能消耗的操作,那麼watch為最佳選擇
- computed
可以關聯多個實時計算的對象,當這些對象中的其中一個改變時都會觸發這個屬性
具有緩存能力,所以只有當數據再次改變時才會重新渲染,否則就會直接拿取緩存中的數據。