LoginSignup
38
22

More than 5 years have passed since last update.

Vue.js の computed, method, watch の使い所

Posted at

 はじめに

Vue.js を勉強していて、最初に使い方の違いがよく分からなかった computed, methods, watch を忘れないようにメモしていきます。

3つともできることはほとんど同じですが、使い所やパフォーマンスに違うがあります。

computed と methods の違い

どちらも関数を使って、計算した値を返すという点では同じです。

  • computed: 計算した結果を新たにプロパティとして公開する仕組み
  • methods: C++ や Java の関数のように、計算した値を返す仕組み

computedmethods の違いは、計算結果がキャッシュされるかどうかです。computed は計算がキャッシュされ、必要なときのみ再計算をする優れた機能です。しかし、Vue が管理していない値の変化は検知できないので注意が必要です。

computed と watch の違い

computed は、計算した結果が新たにプロパティに加えられます。例えば、プロパティに price: [100, 200, 300] とあり、この合計を表す total をプロパティに加えたい場合に使用します。
対して watch は、特定のプロパティの変更を監視するために使います。例えば、total の合計金額が1000円を超えたら flag プロパティを true にするような処理をするために使用します。

38
22
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
38
22