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 ページは何ピクセルで設計すればよいでしょうか?

推薦する

ウェブサイトのフロントエンドをエレガントでユーザーにとって魅力的なものにする方法

ウェブフロントエンドのウェブサイトの気質は感情であり、言葉なしでユーザーを魅了できる感情です。では、...

5分でDockerを使ってRedisのクラスターモードとセンチネルモードを構築する方法を教えます

目次1. 準備Redisイメージを取得する2. Redis Sentinel マスタースレーブモード...

いくつかの一般的な CSS レイアウト (要約)

まとめこの記事では、次の一般的なレイアウトを紹介します。 3 列レイアウトを実装する方法は多数ありま...

Windows 環境に mysql-8.0.11-winx64 をインストールする際に発生する問題を解決する

MySQL インストール パッケージをダウンロードします。mysql-8.0.11-winx64 を...

JavaScript でドラッグ可能なプログレスバーを実装する

この記事では、ドラッグ可能なプログレスバーを実装するためのJavaScriptの具体的なコードを参考...

Vite2とVue3を使用したウェブサイトの国際化を実現するプロセス全体

目次序文vue-i18nをインストールするロケールの設定getLangs.js の実装i18nインス...

MySQLデータベースインデックスの詳細な説明

目次1. MySQLインデックスの紹介2. MySQLの5種類のインデックスの詳しい説明1. 総合索...

MySQL で大量のデータ (数千万) を素早く削除するためのいくつかの実用的なソリューションの詳細な説明

著者は最近、仕事でパフォーマンスのボトルネックの問題に遭遇しました。MySQL テーブルには毎日約 ...

Linux statコマンドの使用

1. コマンドの紹介stat コマンドは、ファイルまたはファイル システムに関する詳細情報を表示する...

ElementUI el-select の過剰なデータに対する解決策についての簡単な説明

目次1. シナリオの説明2. 解決策オプションが多すぎる el-select コンポーネントの解決策...

win2008 で mysql8.0.11 を mysql8.0.17 にアップグレードする詳細な手順

アップグレードの背景: MySQLの下位バージョンの脆弱性を解決するために、MySQLはMySQL ...

MySQLのMERGEストレージエンジンの詳細な説明

MERGE ストレージ エンジンは、MyISAM テーブルのグループを論理ユニットとして扱い、同時に...

MySql テーブル内の行を削除する実用的な方法

まず、どのフィールドまたはフィールドの組み合わせがデータ行を一意に識別できるかを決定する必要がありま...

MySql で、存在しない場合は挿入し、存在する場合は更新する方法

まとめシナリオによっては、レコードがない場合は挿入し、レコードがある場合は更新するという要件がある場...