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 構成スレーブノード実装プロセス図

推薦する

カスタム Docker イメージを作成するための Dockerfile の詳細な説明と CMD と ENTRYPOINT 命令の比較

1. 概要Docker イメージを作成するには、次の 3 つの方法があります。 Docker コミッ...

HTMLはキャンバスを使用して箇条書きスクリーン機能を実装します

導入最近、大きな課題をこなす際に、弾幕プレイヤーを作る必要がありました。他の人のソースコードを借りて...

HTMLタグオーバーフロー処理アプリケーション

CSSを使用してスクロールバーを変更する1.コンテンツがオーバーフローした場合のオーバーフロー設定水...

nginx プロキシでの複数の 302 応答の解決策 (nginx Follow 302)

proxy_intercept_errors と recursive_error_pages を使...

MySQLクライアント認証後の接続失敗の問題に対する完璧なソリューション

MySQL 環境をローカル (192.168.1.152) にデプロイし、リモート クライアント 1...

Ubuntu 18仮想マシンのクローン作成後に同じIPアドレスになる問題の解決方法

序文最近、仮想マシンを使用して Ubuntu 18.04 をインストールしました。クローン作成後、I...

MySQL ストレージエンジン InnoDB の設定と使用方法の説明

MyISAM と InnoDB は、MySQL で最も一般的なストレージ エンジンです。前回の記事で...

MySQL で複数のテーブルにビューを作成する方法

MySQLでは、2つ以上のベーステーブルにビューを作成します。学生テーブルとstu_infoテーブル...

開発者とオペレーターが注目すべき Linux デバッグ ツール [推奨]

システム パフォーマンスの専門家である Brendan D. Gregg 氏は、LinuxCon N...

CSS の ::before と ::after 疑似要素について知らないこと

CSS には、一般的には使用されない 2 つの疑似クラス、before と :after があります...

Centos7 で MySQL マスター スレーブ サーバーを構築する方法 (グラフィック チュートリアル)

この記事では主に CentOS 上で MySQL マスタースレーブサーバーを構築する方法を紹介します...

Vueはコードのハイライトを実現するためにモナコを使用しています

Vue 言語と要素コンポーネントを使用して、コード コンテンツの入力を必要とし、ハイライト表示が可能...

CSS 3D からソースコードによる空間座標軸へ

かつて、サイコロを振るゲームについて話しました。その時は、steps 属性 + スプライト画像を使用...

MySQL InnoDB テーブルスペース暗号化の例の詳細な説明

序文MySQL 5.7.11 以降、MySQL は、別の表領域に格納された InnoDB テーブルの...

HTML フレームセットのサンプルコード

この記事では、Frameset が作成した、できるだけシンプルなフレームワークを紹介します。さて、ま...