値の転送を実現するために、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 エラー

推薦する

シェルスクリプトを使用したMySQLデータベースの自動バックアップ

シェルスクリプトを使用したMySQLデータベースの自動バックアップデータベースを頻繁にバックアップす...

MySQL で distinct メソッドを使用する詳細な例

明確な意味: distinctive は、一意のレコードの数を照会するために使用されます。つまり、d...

CSS の読み込みによってブロックが発生しますか?

おそらく誰もが js の実行によって DOM ツリーの解析とレンダリングがブロックされることを知って...

vsftpd ユーザーが ssh 経由でログインすることを禁止する方法

序文vsftp は使いやすく安全な FTP サーバー ソフトウェアです。システムユーザーまたは仮想ユ...

レム適応の一般的なパッケージ3つについて

序文以前、rem適応についての記事を書きましたが、具体的なパッケージは紹介しませんでした。今日は、よ...

MySQLのデフォルトのソートルールに基づく落とし穴

MySQL のデフォルトの varchar 型は大文字と小文字を区別しません (insensitiv...

RedisとMemcacheの比較と選び方

最近 redis を使っていて、とても便利だと感じているのですが、インメモリ データベースを選択する...

WeChatミニプログラムにナビゲーション機能を実装する方法

1. レンダリング2. 操作手順1. テンセントマップキーを申請する - 住所2. ミニプログラムの...

Windows 8.1 で MySQL5.7 のルート パスワードを忘れた場合の解決方法

【背景】最近勉強中に非常に恥ずかしいことに遭遇しました。MySQL のパスワードを忘れてしまい、My...

ネイティブJSを使用した遅延読み込みlazyLoadの3つの方法の概要

目次序文方法1: 高コントラスト方法2: getBoundingClientRect() APIを使...

表に斜めヘッダー効果を出す5つの方法

誰もがテーブルをよく知っているはずです。コード内でよく見かけます。テーブルにスラッシュ ヘッダーを追...

Navicat を MySQL に接続するときに発生する 2059 エラーの解決方法

最近、Djangoを学習しているときにデータベースを使用する必要があったため、MySQLで使用するた...

React refsの詳細な紹介

1. 何ですかRefs 、コンピューターでは Resilient File System (ReF...