値の転送を実現するために、2つの同じレベルのコンポーネントをVueで作成します。

値の転送を実現するために、2つの同じレベルのコンポーネントをVueで作成します。

Vue コンポーネントは接続されているため、コンポーネント間で値を渡す必要があるのは避けられません。親は v-bind を使用してカスタム属性を子コンポーネントにバインドし、props を使用してそれを受け取ります。

子は、親に対して @custom event = 'function' this.$emit('custom event', '送信するコンテンツ') を使用します。子コンポーネントは、$emit を介して親コンポーネントの関数をトリガーしてこれを実現します。ただし、同じレベルの 2 つのコンポーネントは、このようにして互いに値を渡します。

<div id='アプリ'>
 <子供1></子供1>
 <子供2></子供2>
</div>
<スクリプト>
  var children1 = {};
  var children2 = {};
 var vm = 新しい Vue({
  el:'#app',
  コンポーネント:{
   子供1,
   子供2
  }
 })
</スクリプト>

ここで、children1コンポーネントのデータをchildren2コンポーネントに渡す必要があります。

vueインスタンスでは主に$on()と$emit()を使用します

 <div id='アプリ'>
  <子供1></子供1>
  <子供2></子供2>
 </div>
 <スクリプト>
     var Event = new Vue({}); // 値の転送の媒体として使用される vue インスタンスを作成します var children1 = {
   テンプレート:`
    <div>
     <button @click='send'>クリックすると、children2 コンポーネントにデータが送信されます</button>
    </div>
   `、
   データ(){
    戻る {
     メッセージ:「子供にデータを送信したい2」
    }
   },
   方法:{
    送信(){ 
     イベント.$emit('go',this.msg) 
    }
   }
  };
   var children2 = {
   テンプレート:`
    <div>
     <h2>children1 コンポーネントから受信した値: {{msg1}}</h2>  
    </div>
   `、
   データ(){
    戻る {
     メッセージ1:''
    }
   },
   作成された(){
    Event.$on('go',(v) => { // これは矢印関数を使用する必要があるため
     this.msg1 = v;
    })
   }
  };
  var vm = 新しい Vue({
   el:'#app',
   コンポーネント:{
    子供1,
    子供2
   }
  })
</スクリプト>

chilren1コンポーネントはEvent.$emit()を使用してデータを送信します
chilren2コンポーネントはEevent.$on()を使用してデータを受信します

これで、2 つの Vue ピア コンポーネント間の値転送の実装に関するこの記事は終了です。Vue ピア コンポーネントの値転送に関するより関連性の高いコンテンツについては、123WORDPRESS.COM で以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Vue で 2 つのコンポーネント間で値を転送または変更する方法
  • Vueコンポーネントが相互に値を転送する方法の詳細な説明
  • Vue コンポーネント間で値を渡す方法をどうやって知っていますか?
  • Vueはストアを使用して2つの並列コンポーネント間で値を転送する方法

<<:  Linux でシェル スクリプトを使用して jar パッケージ プロジェクトを展開するための完全な手順

>>:  MySQL 起動エラー InnoDB: ロックできません/ibdata1 エラー

推薦する

Webデザイナーの成長体験

<br />まず最初に、私はこのグループの中では完全な新人だということを述べなければなり...

Windows 64 ビットに MySQL を再インストールするチュートリアル (Zip バージョン、解凍バージョンの MySQL インストール)

MySQLをアンインストールする1. コントロールパネルで、MySQLのすべてのコンポーネントをア...

MySQL Workbenchのダウンロードと使用方法のチュートリアルの詳細な説明

1. MySQL WorkbenchをダウンロードするWorkbench は、MySQL のグラフィ...

HTM と HTML の違いは何ですか? HTM と HTML の違いは何ですか?

Web デザインを学習する過程で、html と htm の関係など、遭遇した多くの問題について深く...

この記事ではJavaScriptの基本であるディープコピーとシャローコピーについて説明します。

目次浅いコピーディープコピー補充する要約するコピー(クローン、複製などとも呼ばれる)ですが、ディープ...

MySQLのconcat関連関数の詳細な説明

1. concat() 関数機能: 複数の文字列を 1 つの文字列に連結する構文: concat(s...

MySQL 8.0 のユーザーとロールの管理原則と使用方法の詳細

この記事では、MySQL 8.0 のユーザーとロールの管理について例を挙げて説明します。ご参考までに...

moment.jsの時間と日付の処理の詳細な説明

月曜日から日曜日の時間形式の変換(Y --- 年 M --- 月 D--- 日) : : : : :...

Vue カスタム箇条書きボックス効果 (確認ボックス、プロンプトボックス)

この記事の例では、参考のためにVueカスタムポップアップ効果の具体的なコードを共有しています。具体的...

MySQL 8.0 エラー サーバーがクライアントに不明な認証方法を要求しました 解決策

最新バージョンのMySQL 8.0.11をインストールした後、ユーザーを作成して認証します。認証され...

Linux 仮想ホストで SourceGuardian (sg11) 暗号化コンポーネントを有効にする詳細な手順

注: sg11 弊社では Linux システム仮想ホストのセルフインストールのみサポートしております...

Linuxにグラフィカルインターフェースをインストールする方法

1. Linuxのインストール(rootユーザー操作) 1. vncserver をインストールしま...

Webpackを使用して複数ページのプログラムを構築するための実装手順

webpack を使用してシングルページのプログラムを構築することは非常に一般的ですが、実際の開発で...

JavaScript は自由に移動するウィンドウのマウス制御を実装します

この記事では、フリーウィンドウのマウス制御を実現するためのJavaScriptの具体的なコードを参考...

MySQL の null 制約のケースの説明

目次テーブルを作成するときにNOT NULL制約を設定するテーブルを変更するときに非NULL制約を追...