Vue での props と $emit の使用法と違い

WBOY
リリース: 2023-07-17 13:57:07
オリジナル
1492 人が閲覧しました

Vue における props と $emit の使用法と違い

Vue では、コンポーネント間の通信は非常に重要な概念です。 Vue は、コンポーネント間の通信を実装するために props と $emit という 2 つのメソッドを提供します。この記事では、props と $emit の使用法と違いを詳しく紹介し、コード例で説明します。

1. Props
Props は、親コンポーネントが子コンポーネントにデータを渡す方法です。親コンポーネントは、props を通じてあらゆる種類のデータを子コンポーネントに渡すことができ、子コンポーネントはこのデータを受信して使用できます。

1.1 親コンポーネントでプロパティを定義する

親コンポーネントでサブコンポーネントを使用する場合、サブコンポーネントのラベルに属性を追加することで、サブコンポーネントにデータを渡すことができます。例:

 
ログイン後にコピー

この例では、ChildComponent タグに message という名前のプロパティを追加し、親コンポーネントの message 変数に値を設定することで、データを子コンポーネントに渡します。

1.2 子コンポーネントで props を受信する

子コンポーネントでは、props オプションを通じて親コンポーネントから渡されたデータを受信できます。例:

 
ログイン後にコピー

この例では、props オプションを使用して message という名前のプロパティを定義し、その型を String として指定します。子コンポーネントは、message 属性を直接使用して、親コンポーネントから渡されたデータを取得できます。

2. $emit
$emit は、子コンポーネントが親コンポーネントにデータを渡す方法です。子コンポーネントは、$emit を通じてカスタム イベントをトリガーし、データを親コンポーネントに渡すことができます。

2.1 子コンポーネントでのイベントのトリガー

子コンポーネントでは、this.$emit を使用してカスタム イベントをトリガーし、データを親コンポーネントに渡すことができます。例:

 
ログイン後にコピー

この例では、@click イベント リスナーをボタンに追加し、イベント ハンドラー関数で this.$emit を使用して message という名前のカスタム イベントをトリガーし、「Hello」という名前のデータを渡します。ビュー!

2.2 親コンポーネントでのイベントの受信

親コンポーネントでは、子コンポーネントのラベルに v-on を追加することで、子コンポーネントによってトリガーされたイベントをリッスンし、対応するイベントハンドラ関数 渡されたデータを受け取ります。例:

 
ログイン後にコピー

この例では、ChildComponent タグで v-on を使用して、子コンポーネントのカスタム イベント メッセージをリッスンし、onMessage イベント ハンドラーで子コンポーネントによって渡されたデータを受信します。

3. props と $emit の違い

Props と $emit はどちらもコンポーネント間の通信を実装するために使用されますが、その使用方法とアクションの方向には特定の違いがあります。

Props は、親コンポーネントがデータをサブコンポーネントに渡す方法です。データは属性の形式でサブコンポーネントに渡され、サブコンポーネントは props オプションを使用して、受け取る必要がある属性を宣言し、それらを使用できます。通常の属性と同様に、このデータを使用します。

$emit は、子コンポーネントが親コンポーネントにデータを渡す方法です。子コンポーネントは this.$emit を使用してカスタム イベントをトリガーし、データを親コンポーネントに渡し、v-on を渡すことができます。親コンポーネント。子コンポーネントによってトリガーされたイベントをリッスンし、対応するイベント ハンドラーでデータを受信します。

props のデータ フローは親コンポーネントから子コンポーネントへの一方向の流れであり、親コンポーネントは子コンポーネントにデータを渡します。 $emit のデータフローは子コンポーネントから親コンポーネントへの一方向の流れで、子コンポーネントはイベントをトリガーして親コンポーネントにデータを渡します。

概要:
props は、サブコンポーネントにデータを渡すために親コンポーネントによって使用されます。データは属性の形式でサブコンポーネントに渡され、サブコンポーネントは props オプションを通じてデータを受け取ります。
$emit は、親コンポーネントにデータを渡すために子コンポーネントによって使用されます。子コンポーネントは、this.$emit を通じてカスタム イベントをトリガーし、データを親コンポーネントに渡します。親コンポーネントは、 v-on を介して子コンポーネントを取得し、イベント ハンドラー関数でデータを受信します。

上記は、Vue における props と $emit の使い方と違いについて詳しく説明したもので、コンポーネント間の通信を理解するのに役立つことを願っています。

以上がVue での props と $emit の使用法と違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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