Vue コンポーネント通信: データ監視のためにウォッチと計算を使用

王林
リリース: 2023-07-10 09:22:01
オリジナル
1536 人が閲覧しました

Vue コンポーネント通信: データ監視のためのウォッチと計算の使用

Vue.js は人気のある JavaScript フレームワークであり、その中心的な考え方はコンポーネント化です。 Vue アプリケーションでは、異なるコンポーネント間でデータを転送および通信する必要があります。この記事では、Vue の watch と computed を使用してデータを監視し、応答する方法を紹介します。

watch
Vue では、watch は 1 つ以上のプロパティの変更を監視し、プロパティが変更されたときに対応する操作を実行するために使用できるオプションです。コンポーネントのオプションで watch を使用して、1 つ以上のモニターを定義できます。以下に watch の使用例を示します。

<template>
  <div>
    <p>{{ message }}</p>
    <input v-model="inputText" type="text">
  </div>
</template>

<script>
export default {
  data() {
    return {
      message: '初始值',
      inputText: '',
    };
  },
  watch: {
    inputText(newValue) {
      this.message = newValue;
    },
  },
};
</script>
ログイン後にコピー

上記のコードでは、コンポーネントのオプションで watch オブジェクトを定義し、その中にモニターを定義します。 inputText プロパティが変更されると、モニター内のコールバック関数が呼び出されます。コールバック関数が受け取るパラメーターは、新しいプロパティ値です。コールバック関数では、メッセージの値が inputText と同期されるように、新しい属性値を message 属性に割り当てます。

computed
Computed は Vue のオプションで、計算プロパティを定義するために使用できます。計算プロパティは、他のプロパティの値に基づいて計算された値です。依存プロパティが変更されると、計算プロパティは再計算され、新しい値を返します。コンポーネントのオプションで computed を使用して、1 つ以上の計算プロパティを定義できます。次に、計算済みの使用例を示します。

<template>
  <div>
    <p>{{ message }}</p>
  <input v-model="inputText" type="text">
  </div>
</template>

<script>
export default {
  data() {
    return {
      inputText: '',
    };
  },
  computed: {
    message() {
      return this.inputText;
    },
  },
};
</script>
ログイン後にコピー

上記のコードでは、コンポーネントのオプションで計算済みオブジェクトを定義し、その中に計算済みプロパティを定義します。計算されたプロパティの戻り値は、メッセージの値として使用されます。この例では、message の値が inputText と同期されており、inputText が変更されると、message が自動的に更新されます。

概要
watch と computed を使用すると、データを簡単に監視して応答することができます。 Watch は、属性に対して何らかの処理を実行したり、何らかの副作用を実行する必要がある場合に適しており、computed は、既存の属性値に基づいて新しい値を計算する必要がある場合に適しています。実際の開発では、必要に応じてwatchとcomputedを柔軟に利用してコンポーネント間のデータ通信を実装できます。

上記は、データ監視に watch と computed を使用する方法の紹介であり、Vue コンポーネントの通信を理解するのに役立つことを願っています。 Vue についてさらに詳しく知りたい場合は、公式ドキュメントを確認するか、関連書籍を読んでください。より良い Vue アプリケーションを作成できることを願っています。

以上がVue コンポーネント通信: データ監視のためにウォッチと計算を使用の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!