他們似乎都做同樣的事情,我不能告訴你何時使用哪種是什麼在vuejs手錶和計算方法之間的區別
回答
計算屬性就像數據屬性一樣。計算的字面含義是'使用給定值計算'。
正如含義表明計算的性質是它的相關值的計算結果(在vuejs data
性能,props
)
例如:
data:{
lowerCase: 'abcd'
},
computed:{
uppercase(){
return this.lowerCase.toUpperCase();
}
}
在上述例子
計算屬性uppercase
是取決於數據屬性lowerCase
。它將字母轉換(計算)爲大寫。 每當lowercase
發生變化時,使用此計算屬性的任何模板綁定都會自動更新。
手錶屬性更一般,並且以更強大(更昂貴)的方式觀察數據屬性的變化。 您可以在監視器中執行復雜的功能,異步任務。 documentation中給出的例子是使用觀察器的一個很好的例子。
總結的區別:
不像看着屬性計算屬性應該返回一個值。
計算性能就像數據屬性,可以在模板使用
{{ }}
使用 但不能使用觀察者。觀察者應該執行邏輯來更新模板中使用的數據屬性。
計算性能基本上都是「虛擬」性質進行評估當他們第一次使用。它們將被自動緩存,直到組件中的更改需要重新評估該屬性。
手錶屬性只是一種檢測屬性更改的機制,允許您執行自定義邏輯。由於觀察者功能強大得多,您可以使用它們來執行與計算屬性相同的操作:基本上,您可以觀察所有相關屬性,只要值發生更改,就會重新計算屬性並將其存儲在Vue實例中數據。除非需要複雜的邏輯,否則計算屬性已經可以以更具說明性的方式做到這一點:您不需要明確監聽所有相關屬性,但依靠Vue自動檢測您的計算屬性依賴於哪些屬性。所以你只是聲明性地陳述如何計算計算的屬性,不需要擔心別的。計算出來的專有技術也已經有了一個很好的緩存機制,你必須自己去看守。請參閱the guide on computed properties and watchers。他們爲觀察者提供的一個示例是發生了服務調用,該服務調用將加載附加數據。
一般來說,其要點是:儘量使用一切的計算屬性。如果它不能用作計算屬性,請使用觀察器。
其難度比the doc
tldr更清楚地表達這一點;computed
屬性是被動的。它們的輸出被緩存,並且如果它們的任何輸入改變,它們都會自動更新。變化流出到頁面上,無需擔心什麼時候。 watch
是「必要的和重複的」。你可以用事件做所有事情,但如果可以的話,你應該儘量提高食物鏈。
- 1. 進化算法'方法'之間的主要區別是什麼?
- 2. Hadoop和雲計算之間的確切區別是什麼?
- 3. 模型和算法之間的確切區別是什麼?
- 4. JPEG和GIF之間的算法區別是什麼?
- 5. 算術運算符^和。^之間的區別是什麼?
- 6. 計算Vuejs中DOM元素之間距離的最佳方法是什麼?
- 7. jTextArea.setText()和jTextArea.append()方法之間的基本區別是什麼?
- 8. $(())和expr之間的區別是什麼?
- 9. $和$ .fn之間的區別是什麼?
- 10. ++和:haskell之間的區別是什麼?
- 11. $(「」)和$ .find(「」)之間的區別是什麼?
- 12. 「\」和「\。」之間的區別是什麼?
- 13. 「$ | ++」和「$ | = 1」之間的區別是什麼
- 14. $(...)和`...`之間的區別是什麼
- 15. .equals()和==之間的區別是什麼?
- 16. [undefined]和[,]之間的區別是什麼?
- 17. 算法和方法有什麼區別
- 18. 語法和s表達式之間的區別是什麼
- 19. 結構和列表ADT之間的用法區別是什麼?
- 20. 嵌套方法調用和代表之間有什麼區別?
- 21. GOF和GRASP設計模式之間的區別是什麼
- 22. 區別:%% a和%variable%變量之間的區別是什麼?
- 23. 什麼是爲PrintWriter和DataOutputStream之間的區別是什麼?
- 24. Handlebars助手和Ember Handlebars助手之間有什麼區別?
- 25. DIjkstra和BellmanFord算法之間的區別
- 26. 是什麼既則hitTest方法之間準確的區別
- 27. 這些創建方法之間的區別是什麼
- 28. ||之間有什麼區別?和|在R?
- 29. 顯示錶單的下列方法之間有什麼區別?
- 30. mysql和oracle sql方言之間的主要區別是什麼?