- 開発技術
Vue.js・ウォッチャーについて
- #VueJS
はじめに
【エンジニア募集中】フルリモート可◎、売上/従業員数9年連続UP、平均残業8時間、有給取得率90%、年休124日以上 etc. 詳細はこちらから>
Vue.jsのウォッチャー(watch)は、データの変化を監視し、変化があった際に処理を実行する機能です。
ウォッチャーのメリット
1;データの変化にリアルタイムで反応
→データが変更されると、それに応じてUIを更新、また別の処理を実行することができます。
2:複雑なロジックの分離
→データの変更に伴う処理を、テンプレートから切り離してウォッチャーに記述することで、コードの構造を整理し、可読性を向上させることができます。
3:非同期処理との連携
→データの取得や更新などの非同期処理と組み合わせて、より複雑なアプリケーションを構築することができます。
ウォッチャー使い方
ウォッチャーでは、Vueコンポーネントのwatchオプションを使用して定義します。
下記の例では、countプロパティが変更される度に、watchオプションで定義された関数が呼び出されます。関数には、新しい値(newValue)と古い値(oldValue)が引数として渡されます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
<template> <div> <p>カウント: {{ count }}</p> <button @click="increment">カウントアップ</button> </div> </template> <script> export default { data() { return { count: 0 } }, watch: { count(newValue, oldValue) { console.log(`カウントが ${oldValue} から ${newValue} に変更されました`); // 変更があったときの処理 } }, methods: { increment() { this.count++; } } } </script> |
実際の使用例
1:入力値のバリデーション
→入力フィールドの値が変更される度に、バリデーションを行い、エラーメッセージを表示する
2:非同期データのフェッチ
検索ボックスの入力値が変更される度に、APIにリクエストを送信してデータを更新する。
3:依存関係の管理
→あるデータが変更された時に、それに依存する他のデータを更新する。
注意点
1:パフォーマンス
→ウォッチャーの数が多すぎると、パフォーマンスに影響を与える可能性があります。
2:無限ループ
→ウォッチャー内の監視対象のデータを変更すると、無限ループになる可能性があります。
参考記事
https://ja.vuejs.org/guide/essentials/watchers
【エンジニア募集中】フルリモートも◎(リモート率85.7%)、平均残業8時間、年休124日以上、有給取得率90% etc. 詳細はこちらから>