Vue での props の使い方の紹介

Vue での props の使い方の紹介

序文:

Vue では、props を使用して、もともと分離されていたコンポーネントを直列に接続することができます。つまり、子コンポーネントは親コンポーネントから渡されたデータを受け取ることができます。たとえば、子コンポーネントが親コンポーネントのデータを参照する場合、props で変数を宣言し、この変数で親要素のデータを参照することができます。

デモ例:

サブコンポーネント:

<テンプレート>

  <div>

    <h3>私は {{name}}、年齢は {{age}}、趣味は {{hobby}} です。}</h3>、{{flag}}

  </div>

</テンプレート>



<スクリプト>

エクスポートデフォルト{

    名前:'Cpn',

    // シンプルな受信 /* props:['age','hobby','name'], */

    // 受信するデータを宣言し、props を宣言するときに受信データを制限します:{

        名前: {

            //型を宣言する type:String,

            //必須かどうかを宣言します: true、

            // デフォルト値を宣言する default:'デフォルト値'

        },

        年:{

            タイプ:数値、

            必要:true、

            デフォルト:18

        },

        趣味:

            タイプ:文字列、

            必要:false

        },

        フラグ:{

            タイプ:ブール値、

            必要:false

        }

    }

}

</スクリプト>

親コンポーネント:

<テンプレート>

  <div id="アプリ">

    <!-- <cpn name='李明' age="22" hobby="ボール遊び"></cpn>

    <cpn name="Xiaohong" age="20" hobby="ピアノを弾くこと"></cpn> -->

    <cpn name='李明'></cpn>

    <cpn hobby="プログラミング" :flag="フラグ"></cpn>

      <!--注: 現在のコンポーネントデータ内のデータを子コンポーネントに渡す場合は、v-bing: 変数名 = "変数名" の形式で渡す必要があります。渡されるデータがデータ内にない場合は、バインディング命令、つまり v-bind (次のように省略できます) を追加する必要はありません -->

    <button @click="changeFlag">切り替え</button>

  </div>

</テンプレート>

<スクリプト>

'./components/Cpn.vue' から Cpn をインポートします。

エクスポートデフォルト{

  コンポーネント: { Cpn },

  名前:「アプリ」、

  データ() {

    戻る {

      フラグ:false

    }

  },

  メソッド: {

    フラグを変更する(){

      console.log(このフラグ)

      this.flag=!this.flag;

      console.log(このフラグ)

    }

  },

}

</スクリプト>

上記のプログラムを実行すると、親コンポーネントのボタンをクリックして値を切り替えると、子コンポーネントが受け取る値もそれに応じて変更されることがわかります。

子コンポーネントが親コンポーネントからデータを受信する方法は 2 つあります。

  • 方法1:シンプルな受信、受信する変数名を指定するだけ
  • 方法2:特定の受信、受信した変数ごとにデータ型、空にできるかどうか、デフォルト値を選択的に指定する

Vue での props の使い方に関するこの記事はこれで終わりです。Vue での props の使い方についてさらに詳しく知りたい場合は、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Vue サブコンポーネントウォッチがプロパティをリッスンしない問題の解決方法
  • Vueでpropsを使用して値を渡す方法
  • Vue3 親子コンポーネント値転送における props 使用の詳細の簡単な分析
  • Vue3.0 で props メソッドをリッスンする方法

<<:  JDKネイティブスレッドプールのバグを修正するTomcatの実装原理

>>:  CSS 水平プログレスバーと垂直プログレスバーの実装コード

推薦する

HTML のオートコンプリートを無効にして履歴を表示しないようにする

入力ボックスには、コンテンツを入力するときに常に入力履歴が表示されます。これを無効にする現在の方法は...

Vueの監視方法のケースの詳細な説明

Vueでの監視方法時計知らせ名前: 監視する属性に同じ名前を付ける必要があります。 1. 機能Vue...

Linux の高性能ネットワーク IO と Reactor モデルの分析

目次1. 基本概念の紹介2. ネットワークIOの読み取りと書き込みのプロセス3. 5つのLinuxネ...

スクロール時に選択領域のフォント色を暗くするために CSS を使用するサンプルコード

日付ピッカーをカプセル化する場合、選択時にフォントの色を暗くする必要があります。実装後の効果を見てみ...

MySQL サービスに iptables ファイアウォール ポリシーを追加するためのソリューション

MySQL データベースが Centos7 システムにインストールされており、オペレーティング シス...

ftp は SSH 経由で Linux にリモート接続します

まず Linux に ssh をインストールします。例として Centos を使用します。ポータル:...

HTML ハイパーリンクの詳細な説明

ハイパーリンクハイパーリンクは、Web サイト上のすべてのページがハイパーリンクで接続され、ページ間...

Docker データ ストレージ tmpfs マウントの詳細な説明

この記事を読む前に、ボリュームとバインドマウントの基本を理解しておいてください。詳細については、次の...

シンプルで簡単なJavaScript開発のためのSvelte実装原理の詳細な説明

目次デモ1フラグメントの作成スヴェルトコンポーネント状態を変更できるデモSvelte は長い間存在し...

MySQLはinet_atonとinet_ntoaを使用してIPアドレスデータを処理します。

この記事では、適切な形式を使用して IP アドレス データをデータベースに保存し、IP アドレスを簡...

Vueは複数の画像の追加、表示、削除を実装します

この記事では、Vueで複数の画像を追加、表示、削除するための具体的なコードを参考までに紹介します。具...

Element における複数データ読み込み最適化の実装

目次シナリオコードの実装要約:シナリオ最近、ElementUI をベースにしたバックグラウンド管理シ...

Docker を使用してエンタープライズレベルのカスタムイメージを構築する方法

序文退社前に、ある依頼を受けました。基本イメージ規格の変更により、最新の Docker イメージ規格...

Centos7でポートを開く方法

CentOS7 のデフォルトのファイアウォールは iptables ではなく、firewalle で...