背景
今天在寫根據后台傳遞過來的數據,整合為一個新的值.顯示在界面上的時候.遇到了一個問題.是該使用watch還是computed來完成數據的計算呢.
解釋
- 他們的功能與他們的意思是一樣的.
- computed就是做一些計算的動作.根據現有數據做一些計算.之后返回一個新的數據.這個數據會被顯示在用戶界面上.
- watch是用來監聽.與node后台的listen類似.監聽到數據的變化之后做一些事情.這些事情可以是異步的.
下面是在網上查了它們之間的區別
- methods在每次頁面進行重新渲染的時候,都會去執行一次.這樣做開銷比較大.如果不希望頁面有緩存的情況下,可以這么做
- computed
- computed中的屬性是自定義屬性.自定義屬性依賴來自data中的值來進行計算,從而返回一個新的值.
- 且computed的變量不可與data中的變量沖突.
- computed是可以監控到數組與對象的變化的.
- watch
- watch中監聽的屬性需要是已經存在的.存在於data中,或者是computed中.
- watch中可以執行異步操作.一般使用watch做一些邏輯復雜或者是異步操作的事情.
- 以及監聽到這個數據變化之后去做一些別的事情.