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

推薦する

CSSアニメーションを使用して背景のシームレスな無限ループを実装する例

1. 需要絵が左から右へ無限ループで動く2. コードモバイルデバイスに適用されているため、rem 単...

Nginx プロキシ axios リクエストと注意事項

序文最近、小さなデモを作成しました。大規模な工場のオンライン データを使用したため、インターフェイス...

CSS の両端揃えを実現する div+css レイアウトの 4 つの方法の概要

2 端揃えを実現する div+css レイアウトは、Web ページの組版でよく使用されます。この記事...

UTF8 でエンコードされた Web ページにファイルが含まれている場合の、ページの前の空白行の解決方法

<br />このページはUTF8エンコードを使用しており、ヘッダーとフッターはテンプレー...

アニメーション効果のようなVueトランジションの例

目次結果を一目で見るハート効果デジタルスクロールアニメーションアニメーションのように結果を一目で見る...

ネイティブ JS で音楽プレーヤーを実装するためのサンプル コード

この記事では主に、次のように共有されるネイティブ JS 音楽プレーヤーのサンプル コードを紹介します...

html+cssレイアウトの3つの方法(ナチュラルレイアウト/フローレイアウト/ポジショニングレイアウト)

1. 自然なレイアウト<br />レイアウトは変更せずに自動的に左揃えになります。 2....

xshellを使用してLinuxサーバーに接続する

xshellを使用してLinuxに接続する利点Windows環境でLinuxを直接操作できるインター...

MySQL ストアド プロシージャで月ごとにテーブルを作成する方法

詳細には立ち入らずに、コードに直接進みましょう。一緒にコミュニケーションを取り、学びましょう。月ごと...

MySQL スロークエリ pt-query-digest スロークエリログの分析

1. はじめにpt-query-digest は、MySQL のスロー クエリを分析するためのツール...

Vueコンポーネントの動的コンポーネントの詳細な説明

目次要約する要約する配列が変更されると、対応するデータを動的にロードしますシナリオ: 異なるコンポー...

HTML iframe と frameset の違い_PowerNode Java Academy

導入1.<iframe> タグ: iframe は、ページ内に内部フレームを生成するイン...

製品の拡大鏡効果を実現する JavaScript

この記事では、参考までに、製品拡大鏡を実装するためのJavaScriptの具体的なコードを紹介します...

Linux 上での MySQL データベースのリモート展開の詳細な手順

LinuxリモートMySQLデータベースの展開、参考までに、具体的な内容は次のとおりです。 1.0 ...

eject を使用せずに create-react-app の設定を変更する方法

1. イジェクトが推奨されないのはなぜですか? 1. eject を実行した後、どのような変化があり...