【Vue.js】methods、computed、watchの概要と使い分けについて整理してみた!

  • 2023年5月22日
  • 2023年5月23日
  • Vue.js

こんにちは。

野中やすおです。

今回の記事では、ついつい混同しやすいVue.jsにおけるmethods、computed、watchプロパティの概要と使い分けについて整理してみました。

methodsとは

methodsプロパティは、その名の通り、Vueインスタンスのメソッドを定義するために使用されます。以下に使用例を書きます。例えばクリックイベントに対応する詳細な処理を書きたい場合には、しばしばmethodsの中でメソッドを定義します。

またComposition APIでは、methodsは通常の関数と同様に定義できます。以下は、script setupの中でmethodsを定義した例です。

methodsは、イベントハンドラーやボタンのクリックなど、単純な関数の処理を定義したいときに使用されやすいです。

Vue.js - The Progressive JavaScript Framework…

computedとは

computedプロパティは、データプロパティに基づいて動的な値を計算するために使用されます。computedプロパティは、キャッシュされて、依存するデータプロパティが変更されない限り再計算されることがありません

またComposition APIでは、computedはimportして定義できます。以下は、script setupの中でcomputedを定義した例です。

computedプロパティは、データの変更を監視せずに値を計算するため、単純な計算やフィルタリングなどの処理を定義するのに適しています。

Vue.js - The Progressive JavaScript Framework…

watchとは

watchプロパティは、データの変更を監視し、変更があった場合に対応する処理を実行するために使用されます。
特定のデータプロパティを監視し、その値が変更された場合に関数を実行します。

watchプロパティは、データが変更された際に非同期な処理を行ったり、APIリクエストを発行したりするのに適しています。

Vue.js - The Progressive JavaScript Framework…

使い分けのまとめ

  • methodsは、単純な関数の処理を定義したいときに使用する。
  • computedは、単純な計算やフィルタリングなどの処理を定義したいときに使用する。
  • watchは、非同期な処理を行ったり、APIリクエストの発行処理を定義したいときに使用する。

参考

Vue.js - The Progressive JavaScript Framework…