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無料インストール版を解凍した後にパスワードが見つからない問題を解決する方法

推薦する

各 Nginx プロセスで開くことができるファイルの最大数を設定する方法

1. システム内で開いているファイルの最大数を確認する #現在のリソース制限設定を表示する ulim...

さまざまな解像度やブラウザでウェブページを適切に表示する方法

キーコードは次のとおりです。コードをコピーコードは次のとおりです。 html{高さ:100%; }コ...

vscodeでnpmを使用してbabelをインストールする方法

序文前回の記事ではNode.jsのインストールと設定を紹介しました。今回はVScodeでbableを...

nestjs からフロントエンドに返されるデータ形式のカプセル化実装

通常、開発プロセスでは、インターフェイス要求の成功または失敗は httpcode に基づいて決定され...

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

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

MySQLでクエリキャッシュを実行する方法と失敗を解決する方法

関数を使用する前にパラメータのプロパティを理解して、関数の使い方をより深く理解する必要があることは誰...

iconfontアイコンライブラリをvueに導入するエレガントな実践記録

目次序文SVGを生成するSVGスプライトの紹介プロジェクトアイコンを取得するプロジェクトのセットアッ...

Dockerイメージの圧縮と最適化操作

Docker が今日非常に人気がある理由は、主にその軽量性、迅速な展開、およびリソースの利用にありま...

Dockerとイメージの操作方法

ミラーを探すDocker Hubのウェブサイトからイメージを検索できます。Docker Hubのウェ...

SQLはLeetCodeを実装します(180.連続した数字)

[LeetCode] 180. 連続した数字少なくとも 3 回連続して出現するすべての数字を検索す...

vue 動的コンポーネント

目次1. コンポーネント2. キープアライブ2.1 問題点2.2 キープアライブを使って解決する2....

血の写輪眼と輪廻眼の特殊効果コードを実現するためのHTML+CSS

結果 (完全なコードは下部にあります): 実装は難しくありませんが、繰り返しコードが多くなります。実...

MySQLの外部結合と内部結合クエリの違い

外部結合の構文は次のとおりです。フィールド名を選択FROM テーブル名 1 LEFT|RIGHT|F...

Nginxドメイン名転送の実装

Nginx の紹介Nginx (「エンジン x」) は、ロシアのプログラマー Igor Sysoev...

MySQLクエリ構文の概要

序文:この記事では主に、MySQL の where、group by、order by、limit、...