Vue.js での $emit の使用に関する詳細な説明

Vue.js での $emit の使用に関する詳細な説明

1. 親コンポーネントは props を使用して子コンポーネントにデータを渡すことができます。

2. 子コンポーネントは $emit を使用して親コンポーネントのカスタム イベントをトリガーできます。

vm.$emit( ​​event, arg ) //現在のインスタンスでイベントをトリガーする

vm.$on( event, fn ); //イベントをリッスンした後にfnを実行します。

例: サブコンポーネント:

<テンプレート>
  <div class="train-city">
    <h3>ToCity が親コンポーネントから子コンポーネントに渡されました:{{sendData}}</h3> 
    <br/><button @click='select(`Dalian`)'>ここをクリックすると、親コンポーネントに 'Dalian' が送信されます</button>
  </div>
</テンプレート>
<スクリプト>
  エクスポートデフォルト{
    名前:'trainCity',
    props:['sendData'], // 親コンポーネントから子コンポーネントに渡されるデータを受信するために使用されます。メソッド:{
      選択(val) {
        データ = {
          都市名: val
        };
        this.$emit('showCityName',data);//select イベントがトリガーされた後、showCityName イベントが自動的にトリガーされます}
    }
  }
</スクリプト>

親コンポーネント:

<テンプレート>
    <div>
        <div>親コンポーネントの toCity{{toCity}}</div>
        <train-city @showCityName="updateCity" :sendData="toCity"></train-city>
    </div>
<テンプレート>
<スクリプト>
  「./train-city」からTrainCityをインポートします。
  エクスポートデフォルト{
    名前:'インデックス',
    コンポーネント: {TrainCity},
    データ () {
      戻る {
        都市:"北京"
      }
    },
    方法:{
      updateCity(data){//子コンポーネントの都市選択をトリガー - 都市イベントを選択 this.toCity = data.cityname;//親コンポーネントの値を変更する console.log('toCity:'+this.toCity)
      }
    }
  }
</スクリプト>

図1: 前のデータをクリック

図2: クリック後のデータ

これで、Vue.js での $emit の使用に関する詳細なケース スタディに関するこの記事は終了です。Vue.js での $emit の使用に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Vue.js+boostrapプロジェクト実践(事例詳細説明)
  • Vue.jsでタブ切り替えと色変更操作を実装する解説
  • Vue.js スロットにおけるスコープ付きスロットの使用法の詳細な説明
  • Vue.jsはカレンダー機能を実装します
  • Vue.jsはタイムライン機能を実装します
  • Vue.jsは背景テーブルコンポーネントのカプセル化を管理します
  • Vue.js フロントエンドプロジェクト向け多言語ソリューションのアイデアと実践
  • 大規模な Vue.js プロジェクトの構築と維持のための 10 のベスト プラクティス

<<:  qt.qpa.plugin の問題を解決: Ubuntu 18.04 の Qt で Qt プラットフォーム プラグイン「xcb」をロードできませんでした

>>:  MySQL無料インストール版を解凍した後にパスワードが見つからない問題を解決する方法

ブログ    

推薦する

JavaScript スコープチェーンの基本原理のグラフィカルな説明

目次序文範囲1. スコープとは何ですか? 2. [[スコープ]] プロパティ3. スコープチェーン4...

MySQL 5.7のワンクリックインストールとパスワードポリシーの変更方法

1.Mysqlスクリプトのワンクリックインストール [root@uat01 ~]# cat Inst...

CSS でのフレックスレイアウトの詳細な説明

フレックス レイアウトは、エラスティック レイアウトとも呼ばれます。任意のコンテナーをフレックス レ...

CSS3 列を使用したカード ウォーターフォール レイアウトを実装するためのサンプル コード

この記事では、カード ウォーターフォール レイアウトを実現するための CSS3 列のサンプル コード...

Reactのdiffアルゴリズムの詳細な分析

Reactのdiffアルゴリズムの理解diffアルゴリズムは、 Virtual DOMの変更された部...

VMwareのCentosシステムでNavicatがMySQLサーバーに接続できない問題を解決します

ホスト 'xxxx' はこの MySQL サーバーに接続できませんエラー: 1130...

Hadoop 3.2.0 クラスターの構築に関する一般的な考慮事項

1つのポートの変更バージョン 3.2.0 では、ネームノード ページ ポートは 9870、データノー...

MySQLの制限を使用して大規模なページングの問題を解決する方法

序文日常の開発では、MySQL を使用してページングを実装する場合、常に MySQL 制限構文を使用...

Linux で一般的なソフトウェアを設定する方法

新しいLinuxサーバーを入手する場合、通常は次の5つの構成を実行する必要があります。 HOSTAN...

Vue2.x と Vue3.x のルーティングフックの違いの詳細な説明

目次vue2.xプレコンセプト:ルーティングフックのカテゴリルーティングとコンポーネントの概念(フッ...

vue+iviewのメニューとタブの連携方法

Vue+iview メニューとタブのリンク現在、vue+iview を使用してバックエンド管理システ...

Linuxのテキスト処理コマンドsortの詳細な説明

テキストファイルの内容を並べ替える使用方法: ソート + オプション + ファイル名 (複数のファイ...

Linuxサーバーのディスク容量を拡張する方法

目次序文ステップ序文今日、es ログが記録されていないことに気付きました。filebeat、elas...

Linux オペレーティング システムの概要と紹介

目次1. オペレーティングシステムとは何か2. Linuxの起源3. Linuxの基本機能4. Li...

html リンク タグ タイトル属性 改行 マウス ホバー プロンプト コンテンツ 改行効果

オブジェクト上にマウスを移動したときにコンテンツ(タイトル属性の内容)を折り返す方法、HTML タイ...