ホームページ ウェブフロントエンド Vue.js Vue を使用してコンポーネント通信を実装するにはどうすればよいですか?

Vue を使用してコンポーネント通信を実装するにはどうすればよいですか?

Jul 17, 2023 pm 11:25 PM
値を渡す vue コンポーネント vueコンポーネント通信 vue通信方式

Vue を使用してコンポーネント通信を実装するにはどうすればよいですか?

Vue は、ユーザー インターフェイスを構築するための人気のある JavaScript フレームワークです。 Vue では、コンポーネントは Web アプリケーションを構築するための基本単位です。また、複雑なアプリケーションを構築するには、コンポーネント間の通信が不可欠です。この記事では、Vue を使用してコンポーネント間の通信を実装する方法を紹介し、いくつかのコード例を示します。

1. 親コンポーネントと子コンポーネントの通信
親コンポーネントと子コンポーネント間の通信は、最も一般的なシナリオです。 Vue は、この通信を実装するための props 属性を提供します。親コンポーネントでは、props を通じてデータを子コンポーネントに渡すことができ、子コンポーネントは props 内のデータを直接使用できます。

次に、親コンポーネントが子コンポーネントと通信する簡単な例を示します。

親コンポーネント

<template>
  <div>
    <h1>父组件</h1>
    <ChildComponent :message="message"></ChildComponent>
  </div>
</template>

<script>
import ChildComponent from './ChildComponent.vue';

export default {
  components: {
    ChildComponent
  },
  data() {
    return {
      message: 'Hello World!'
    };
  }
};
</script>
ログイン後にコピー

子コンポーネント

<template>
  <div>
    <h2>子组件</h2>
    <p>{{ message }}</p>
  </div>
</template>

<script>
export default {
  props: {
    message: {
      type: String,
      required: true
    }
  }
};
</script>
ログイン後にコピー

上記の例では、 、親データ message がコンポーネントで定義され、データは props 属性を通じてサブコンポーネントに渡されます。子コンポーネントで props を使用して、親コンポーネントから渡されたデータを受け取り、それをテンプレートにレンダリングします。

2. 子コンポーネントから親コンポーネントへの通信
子コンポーネントから親コンポーネントへの通信は比較的複雑です。 Vue は、子コンポーネントと親コンポーネント間の通信を実装するための $emit メソッドを提供します。

次は、子コンポーネントが親コンポーネントと通信する簡単な例です。

親コンポーネント

<template>
  <div>
    <h1>父组件</h1>
    <ChildComponent @message="handleMessage"></ChildComponent>
  </div>
</template>

<script>
import ChildComponent from './ChildComponent.vue';

export default {
  components: {
    ChildComponent
  },
  methods: {
    handleMessage(message) {
      console.log(message);
    }
  }
};
</script>
ログイン後にコピー

子コンポーネント

<template>
  <div>
    <h2>子组件</h2>
    <button @click="sendMessage">发送消息</button>
  </div>
</template>

<script>
export default {
  methods: {
    sendMessage() {
      this.$emit('message', 'Hello World!');
    }
  }
};
</script>
ログイン後にコピー

上記の例では、 message イベントは、$emit メソッドを使用してコンポーネント内でトリガーされ、データ Hello World! が親コンポーネントに渡されます。親コンポーネントは、@message を使用して message イベントをリッスンし、handleMessage メソッドでイベントを処理します。

3. 非親子コンポーネント通信
非親子コンポーネント間で通信する必要がある場合は、Vue が提供するイベント バス メカニズムを使用できます。イベント バス インスタンスを作成し、このインスタンスを通じてコン​​ポーネント間で通信できます。

次に、イベント バスを使用して非親子コンポーネント通信を実装する例を示します。

イベント バス

// eventBus.js
import Vue from 'vue';

const EventBus = new Vue();

export default EventBus;
ログイン後にコピー

コンポーネント A

<template>
  <div>
    <h2>组件A</h2>
    <button @click="sendMessage">发送消息</button>
  </div>
</template>

<script>
import EventBus from './eventBus.js';

export default {
  methods: {
    sendMessage() {
      EventBus.$emit('message', 'Hello World!');
    }
  }
};
</script>
ログイン後にコピー

コンポーネント B

<template>
  <div>
    <h2>组件B</h2>
    <p>{{ message }}</p>
  </div>
</template>

<script>
import EventBus from './eventBus.js';

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

上記の例では、イベント バス インスタンス EventBus が作成され、コンポーネント A とデータ Hello World! で message イベントがトリガーされます。 はイベント バス Example に渡されます。コンポーネント B は、message イベントの作成時にリッスンし、イベントの受信後にデータを更新します。

概要:
上記は、Vue を使用してコンポーネント通信を実装する方法についての簡単な紹介です。 Vue では、親コンポーネントは props 属性を通じて子コンポーネントと通信でき、子コンポーネントは $emit メソッドを通じて親コンポーネントと通信でき、親以外のコンポーネントと子コンポーネント間の通信はイベント バス メカニズムを通じて行うことができます。この記事が Vue でのコンポーネント通信を理解するのに役立つことを願っています。

以上がVue を使用してコンポーネント通信を実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

vueコンポーネントに値を渡す方法 vueコンポーネントに値を渡す方法 Jan 06, 2023 pm 05:26 PM

値の受け渡し方法: 1. 親から子に渡すには props を使用します; 2. 子から親へ、イベントをカスタマイズする必要があります。子コンポーネントでトリガーするには、「this.$emit('イベント名')」を使用します。親で「@event」を使用します。名前」モニタリング; 3. 兄弟間では、パブリックの親要素をブリッジとして使用し、親と子のプロパティを組み合わせてパラメータを渡し、子と親のカスタム イベントを渡します; 4. ルーティングを使用して渡す値; 5. $ref を使用して値を渡す; 6. 依存関係注入を使用して子孫と曾孫を渡す; 7. $attrs を使用する; 8. $listeners 中間イベントを使用する; 9. $parent を使用して渡すなど。

vueコンポーネントに値を渡す方法 vueコンポーネントに値を渡す方法 Jul 18, 2023 am 09:27 AM

vue コンポーネントで値を渡す方法: 1. 親から息子に渡す; 2. 息子から父親に渡す; 3. 兄弟から値を渡す; 4. 疑問符、コロン、親子コンポーネントを使用して値を渡す; 5. を使用します。値を渡すには「$ref」; 6. 親コンポーネントのデータを現在のインスタンスに注入するには「inject」を使用します; 7. 祖先から孫へ渡す; 8. 孫から祖先へ渡す; 9. $parent; 10. sessionStorage に値を渡します; 11. vuex。

Vue コンポーネント通信に関する一般的な問題と解決策 Vue コンポーネント通信に関する一般的な問題と解決策 Jul 17, 2023 pm 11:16 PM

Vue コンポーネント通信に関する一般的な問題と解決策 Vue アプリケーション開発において、コンポーネント通信は非常に重要なトピックです。異なるコンポーネント間の通信は、データ共有、状態管理、イベント配信などの機能を実現するのに役立ちます。しかし、コンポーネント通信では問題が発生することが多く、それをいかに解決するかが開発時に重要なポイントとなります。 1. 親コンポーネントが子コンポーネントにデータを渡す 一般的なシナリオは、親コンポーネントが子コンポーネントにデータを渡す必要があるというものです。この場合、属性バインディングを使用して渡すことができます。

Vueドキュメントでのコンポーネント親子値伝達関数の実装方法 Vueドキュメントでのコンポーネント親子値伝達関数の実装方法 Jun 20, 2023 am 11:12 AM

Vue は人気のある JavaScript フレームワークであり、そのコンポーネント開発は、複雑なアプリケーションを開発する際のモジュール性の度合いを向上させ、コードの保守性とスケーラビリティを向上させるのに役立ちます。 Vue では、コンポーネント間のデータ転送は非常に一般的な要件であり、最も一般的なシナリオは親コンポーネントと子コンポーネント間のデータ転送です。このようなデータ転送を Vue で実装するには、親コンポーネントと子コンポーネント間の値の転送の実装方法を理解する必要があります。 Vue コンポーネントでは、親コンポーネントは同時に複数の子コンポーネントを持つことができ、親コンポーネントは

Vueコンポーネントで値を渡すにはどのような方法がありますか? Vueコンポーネントで値を渡すにはどのような方法がありますか? Jun 19, 2023 pm 03:23 PM

Vue コンポーネントが値を渡す方法: 1. 親から子に渡し、それを受け取るために子コンポーネントで "props" を定義します; 2. 子から親に渡し、子コンポーネントでトリガーするために "$emit()" を使用します; 3 . 兄弟から値を渡す、イベントバス「eventBus」を定義; 4. 値を渡すには疑問符、値を渡すにはコロン、値を渡すには親子コンポーネントを使用; 5. 値を渡すには「$ref」を使用する; 6. 「inject」を使用して親コンポーネントのデータを現在のインスタンスに注入します; 7. 祖先から孫への受け渡し; 8 , Sun Chuanzu; 9. $parent; 10. sessionStorage 値の受け渡し; 11. vuex.

Vue コンポーネント通信におけるページ ジャンプ ソリューションの比較 Vue コンポーネント通信におけるページ ジャンプ ソリューションの比較 Jul 17, 2023 pm 02:12 PM

Vue コンポーネント通信におけるページ ジャンプ ソリューションの比較 Vue 開発において、ページ ジャンプはよく遭遇するニーズの 1 つです。ただし、コンポーネント通信では、ページジャンプではコンポーネント間のデータ転送やステータス管理などの問題を考慮する必要があります。この記事では、Vue コンポーネント通信におけるページ ジャンプ ソリューションを比較および分析し、対応するコード例を示します。 1. ルーティングを介してジャンプ Vue は、ページのルーティング ジャンプを管理する vue-router を提供します。コンポーネント間のページ切り替えはルーティング ジャンプによって実現でき、パラメータを引き継ぐことができます。

vueコンポーネントに値を渡す方法は何ですか? vueコンポーネントに値を渡す方法は何ですか? Jul 18, 2023 am 09:32 AM

コンポーネントの値の受け渡し方法: 1. ルーティングを通じて値を渡す; 2. 親コンポーネントのデータをサブコンポーネントのタグでバインドさせることで、サブコンポーネントの props は親コンポーネントから渡された値を受け取り、サブコンポーネントのプロパティは親コンポーネントを受け取り、渡された値; 3. 子コンポーネントが親コンポーネントに値を渡すとき、「this.$emit」を使用して getData イベントをトラバースします; 4. 値を渡すとき親以外のコンポーネント間では、1 つは「this.on」イベントをバインドし、もう 1 つは「this .$emit」イベントをトリガーするか、両方のページで取得できるローカル ストレージにパブリック データを追加します。

Vue の親コンポーネントと子コンポーネント間の値の転送の問題を簡単に分析した記事 Vue の親コンポーネントと子コンポーネント間の値の転送の問題を簡単に分析した記事 Feb 23, 2023 pm 07:32 PM

Vueの親コンポーネントと子コンポーネント間で値を渡すにはどうすればよいですか?次の記事では、Vue の親コンポーネントと子コンポーネントの値の転送の問題について説明します。お役に立てば幸いです。

See all articles