vue中computed和watch有什麼區別?
computed:
computed
是計算屬性,也就是計算值,它更多用於計算值的場景computed
具有緩存性,computed的值在getter執行後是會緩存的,只有在它依賴的屬性值改變之後,下一次獲取computed的值時纔會重新調用對應的getter來計算computed
適用於計算比較消耗性能的計算場景
watch:
- 更多的是「觀察」的作用,類似於某些數據的監聽回調,用於觀察
props
$emit
或者本組件的值,當數據變化時來執行回調進行後續操作 - 無緩存性,頁面重新渲染時值不變化也會執行
小結:
- 當我們要進行數值計算,而且依賴於其他數據,那麼把這個數據設計爲computed
- 如果你需要在某個數據變化時做一些事情,使用watch來觀察這個數據變化
個人博客地址:大家可以看看