Vueの子コンポーネントが親コンポーネントのメソッドを呼び出す場合の詳細な説明

Vueの子コンポーネントが親コンポーネントのメソッドを呼び出す場合の詳細な説明

1. 子コンポーネントのthis.$parent.eventを通じて親コンポーネントメソッドを直接呼び出します。

<!-- 親コンポーネント -->
<テンプレート>
	<div>
		<子></子>
	</div>
</テンプレート>
<スクリプト>
'~/components/dam/child' から子をインポートします。
エクスポートデフォルト{
	コンポーネント:
		子供
	},
	メソッド: {
		父親メソッド() {
			コンソールにログ出力します。
		}
	}
};
</スクリプト>
<!-- 子コンポーネント -->
<テンプレート>
  <div>
    <button @click="childMethod()">クリック</button>
  </div>
</テンプレート>
<スクリプト>
  エクスポートデフォルト{
    メソッド: {
      子メソッド() {
        this.$parent.fatherMethod();
      }
    }
  };
</スクリプト>

2. 子コンポーネントで$emitを使用して親コンポーネントにイベントをトリガーし、親コンポーネントはこのイベントをリッスンします。

<!-- 親コンポーネント -->
<テンプレート>
	<div>
		<child @fatherMethod="fatherMethod"></child>
	</div>
</テンプレート>
<スクリプト>
'~/components/dam/child' から子をインポートします。
エクスポートデフォルト{
	コンポーネント:
		子供
	},
	メソッド: {
		父親メソッド() {
			コンソールにログ出力します。
		}
	}
};
</スクリプト>
<!-- 子コンポーネント -->
<テンプレート>
	<div>
		<button @click="childMethod()">クリック</button>
	</div>
</テンプレート>
<スクリプト>
エクスポートデフォルト{
	メソッド: {
		子メソッド(){
			this.$emit('fatherMethod');
		}
	}
};
</スクリプト>

3. 親コンポーネントはメソッドを子コンポーネントに渡し、子コンポーネント内で直接メソッドを呼び出す

<!-- 親コンポーネント -->
<テンプレート>
	<div>
		<child :fatherMethod="fatherMethod"></child>
	</div>
</テンプレート>
<スクリプト>
'~/components/dam/child' から子をインポートします。
エクスポートデフォルト{
	コンポーネント:
		子供
	},
	メソッド: {
		父親メソッド() {
			コンソールにログ出力します。
		}
	}
};
</スクリプト>
<!-- 子コンポーネント -->
<テンプレート>
	<div>
		<button @click="childMethod()">クリック</button>
	</div>
</テンプレート>
<スクリプト>
エクスポートデフォルト{
	小道具: {
		父親メソッド: {
			タイプ: 関数、
			デフォルト: null
		}
	},
	メソッド: {
		子メソッド(){
			if (this.fatherMethod) {
				this.fatherMethod();
			}
		}
	}
};
</スクリプト> 

これで、Vue 子コンポーネントが親コンポーネント メソッドを呼び出す詳細なケースに関するこの記事は終了です。Vue 子コンポーネントが親コンポーネント メソッドを呼び出す関連コンテンツの詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Vue 親コンポーネントでイベントをトリガーして子コンポーネントの値を変更する方法の詳細な例
  • Vue 親コンポーネントが子コンポーネント関数の実装を呼び出す
  • Vue の親コンポーネントのボタンをクリックして子コンポーネントをトリガーするイベントの詳細な説明
  • Vue 親コンポーネントで子コンポーネント関数を呼び出す方法
  • Vue3.0は子コンポーネント内で親コンポーネントの機能をトリガーします

<<:  MySQL データベースの文字化け問題の原因と解決策

>>:  Linux Jenkins 構成スレーブノード実装プロセス図

推薦する

jsを使用してカルーセル効果を実現する

今日は、参考までに、jsを使用してカルーセルマップの効果を実現する方法についてお話ししましょう。具体...

jsを使って簡単な計算機を作る

この記事では、jsで簡単な計算機を作成する具体的なコードを参考までに共有します。具体的な内容は次のと...

Vue カードスタイルのクリックして切り替える画像コンポーネントの使用方法の詳細な説明

この記事では、vueカードスタイルのクリックして切り替える画像コンポーネントを参考までに紹介します。...

JSパッケージオブジェクトに関する簡単な説明

目次概要意味インスタンスメソッドプリミティブ型とインスタンスオブジェクト間の自動変換カスタムメソッド...

backgroundImage を使用して画像カルーセルの切り替えを解決する詳細な説明

単一のDOMノードでカルーセルを実装するbackgroundImage を使用すると、複数の画像を追...

Mac 向け MySQL 5.7.17 のインストールと設定のチュートリアル

1. MySQLをダウンロードする公式サイトのダウンロードページをクリックすると次のページに入ります...

Mysqlサーバーのインストール、構成、起動、シャットダウン方法の詳細な説明

1. 公式サイトからダウンロード: https://dev.mysql.com/downloads/...

WeChatアプレットはキャンバスを使用して時計を描画します

この記事では、キャンバスを使用してWeChatアプレットに時計を描く具体的なコードを参考までに共有し...

MySQL データベース操作 (作成、選択、削除)

MySQL データベースの作成MySQL サービスにログインしたら、create コマンドを使用し...

CSS calc() の数式に関する詳細な理解

数式 calc() は CSS の関数であり、主に数学演算に使用されます。 calc() を使用する...

ウェブフロントエンドウェブ開発の一般的なプロセスの簡単な紹介

フロントエンド開発を行っている初心者の学生を多く見かけますが、彼らの効率は比較的遅いです。常にコード...

Html+CSS フローティング広告ストリップの実装

1.html部分コードをコピーコードは次のとおりです。 <!DOCTYPE html> ...

HTML4.0 要素のデフォルトスタイルの配置

コードをコピーコードは次のとおりです。 html、アドレス、引用ブロック、本文、dd、div、 dl...

Linuxコマンドをバックグラウンドで実行する方法

通常、ターミナルでコマンドを実行する場合、別のコマンドの入力を開始する前に、現在のコマンドが終了する...

CSS を使用して複数の方法で等高レイアウトを実装するサンプル コード

この記事で説明する等高レイアウトでは、純粋な CSS を使用して、要素の高さを手動で設定することなく...