Vue 父子価値移転、兄弟価値移転、子父価値移転の詳細な説明

Vue 父子価値移転、兄弟価値移転、子父価値移転の詳細な説明

1. 親コンポーネントが子コンポーネントに値を渡す

1. 親コンポーネント.vue

// 親コンポーネント内の <template>
    <div>
        <子 ref="子" :title="値"/>
    </div>
</テンプレート>    
<スクリプト>
エクスポートデフォルト{
    データ() {
    	戻る {
    		値: 'hello world!'
    	}
    }
}
</スクリプト>

2. サブコンポーネント.vue

// 親コンポーネント内の <template>
    <div>
       <span>{{タイトル}}</span>    
    </div>
</テンプレート>    
<スクリプト>
エクスポートデフォルト{
  小道具: {
    タイトル:
      	タイプ: 文字列、
      	デフォルト: ''
    }
  }
}
</スクリプト>

//タイトルの値は「hello world!」です。

2. ミドルウェアバスを介して兄弟コンポーネント間で値を転送することもできます

$emit 値の受け渡し

$on 引き継ぐ

$off転送イベントを削除します

1.component.js

this.$bus.$emit("フラグ",true)

2.B コンポーネント.js

マウント() {
    this.$bus.$off('フラグ')
    this.$bus.$on('フラグ', データ=> {
      this.flag = データ
    })
  }

3. サブコンポーネントは親コンポーネントに値を渡す

1. 親component.js

<テンプレート>
    <div>
        <子 ref="子" @getTitle="getTitle"/>
    </div>
</テンプレート>  
<スクリプト>
'./components/Child' から Child をインポートします。
エクスポートデフォルト{
  コンポーネント:
  	子供 
  },
  データ() {
    戻る {
    }
  },
  方法:{
  	getTitle(データ){
		コンソール.log(データ)
	}
  }
}
</スクリプト>

印刷結果はhello xulitingです

2. サブコンポーネント.js

<テンプレート>
    <div>
       <span>{{タイトル}}</span> 
    </div>
</テンプレート>    
<スクリプト>
エクスポートデフォルト{
  データ() {
    戻る {
    タイトル: 「hello xuliting」
    }
  },
  マウントされた(){
    this.getFun()
  },
  方法:{
    getFun(){
     this.$emit("getTiltle",this.title)
    }
  }
}
</スクリプト>

要約:

この問題は、コンポーネント間でメソッドを転送することによっても解決できます。たとえば、親コンポーネントは A で、子コンポーネントは B と C です。

親コンポーネント A が子コンポーネント B を呼び出すメソッドは aFun として定義され、aFun は子コンポーネント C に渡されます。

これは親コンポーネントのコンポーネントCに渡されるメソッドです

<C :a-fun="aFun" />

参照はコンポーネントCのpropsを通じて行われます

小道具: {
    楽しい: {
      タイプ: 関数、
      デフォルト: () => function() {}
    }
  }

この記事はこれで終わりです。皆さんのお役に立てれば幸いです。また、123WORDPRESS.COM のその他のコンテンツにも注目していただければ幸いです。

以下もご興味があるかもしれません:
  • Vue3 の父子値転送に関する簡単な説明
  • Vue の親子コンポーネントの値転送と一方向データフローの問題の詳細な説明
  • Vue 親子コンポーネントの相互値の転送と呼び出し
  • Vueの7つの値転送メソッドの詳細な説明
  • Vue の親子コンポーネントの値転送の落とし穴
  • vueの子コンポーネントと親コンポーネント間で値を渡す例

<<:  Dockerfile における VOLUME と docker -v の違い

>>:  Web ページは何ピクセルで設計すればよいでしょうか?

推薦する

Nginx+SpringBoot による負荷分散の実装例

負荷分散の概要Nginx の負荷分散実装を紹介する前に、負荷分散の分類について簡単に説明します。負荷...

uniapp プロジェクトをデスクトップ アプリケーションとしてパッケージ化する方法

Electronのインストール cnpm 電子をインストール -g electron-package...

Ubuntu 18.04 で中国語入力方法を設定する方法

Ubuntuの最新バージョンでは、ユーザーは中国語入力方法を別途ダウンロードする必要がなくなりました...

Sysbench の MySQL ベンチマーク プロセスの分析

序文1.ベンチマークは、テスト オブジェクトのクラスの特定のパフォーマンス指標の定量的、再現可能、比...

テキストエリアのテキスト入力領域に改行を実装する方法

textarea 入力領域でテキストを折り返す場合は、<br/> と入力すると <...

nginx.pid を開く際の失敗と無効の解決策

目次1. 問題の説明2. 問題分析3. 解決策解決策1: ディレクトリを作成する解決策2: 構成ファ...

jsでの位置計算を徹底的に理解するのに役立つ記事

目次導入スクロール要素.スクロール()要素.scrollHeight/scrollWidth要素.s...

HTMLバージョン宣言DOCTYPEタグ

通常のウェブサイトのソースコードを開くと、ソースコードは<!DOCTYPE htmlで始まる必...

CSS3のtext-fill-colorプロパティの詳細な説明

text-fill-color とは何を意味しますか?文字通りの意味から言えば、「テキストの塗りつぶ...

純粋な CSS で「テキストオーバーフローの切り捨てと省略」を実装するいくつかの方法

私たちの日常的な開発作業では、テキストのオーバーフロー、切り捨て、省略は、考慮する必要がある非常に一...

Vue+ElementUI Treeの使い方

Vue+ElementUI Treeの使い方は参考までに。具体的な内容は以下のとおりです。 フロント...

SSH経由でローカルLinux仮想マシンに接続するプロセスを記録する

実験環境:物理マシン Windows 10 x64物理NIC情報IPv4 アドレス: 192.168...

レスポンシブデザインについての簡単な説明

1. レスポンシブ デザインとは何ですか?レスポンシブデザインとは、ウェブサイトの開発プロセス中に、...

Linux システムに Spring Boot アプリケーションをインストールするための詳細なチュートリアル

Unix/Linux サービスsystemd サービス操作プロセス1. JDKがインストールされたC...

Mysql で group_concat の長さ制限を変更する方法

MySQL には、「group_concat」という関数があります。通常の使用では問題がないかもしれ...