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

推薦する

Nginx をインストールして複数のドメイン名を設定する方法

Nginx のインストールCentOS 6.x yum にはデフォルトで nginx ソフトウェア ...

マークアップ言語 - リスト

標準化されたデザインソリューション - マークアップ言語とスタイルマニュアルWeb 標準ソリューショ...

Vue echarts は水平棒グラフを実現します

この記事では、水平棒グラフを実現するためのvue echartsの具体的なコードを参考までに共有しま...

ウェブサイトのハイパーリンクを開く方法に関する議論

新しいウィンドウが開きます。 利点: ユーザーがリンクをクリックしても、現在閲覧しているコンテンツは...

iframe src 割り当ての問題 (サーバー側)

今日この問題に遭遇しました。サーバー側でiframeのsrc値を再割り当てし、iframeにIDを追...

MySQL 数値型オーバーフローの処理方法

さて、質問させてください。MySQL で列を int(0) に設定すると何が起こりますか?この問題を...

MySQL インデックス プッシュダウンを 5 分で理解する

目次インデックス プッシュダウンとは何ですか?インデックスプッシュダウン最適化の原理インデックスプッ...

IDEA Maven プロジェクトで Tomcat をデバッグ モードで実行する詳細なチュートリアル

1. pom.xmlに次の依存関係を追加します。 <依存関係> <groupId&...

Linux で pip 操作中にタイムアウトが発生する問題を解決する方法

Linuxインスタンスでpipを使用する際のタイムアウト問題を解決する方法pip は最も人気のある ...

Vueは携帯電話のカメラとアルバムを呼び出す機能を実装します

この記事では、携帯電話のカメラとアルバムにアクセスするためのVueの具体的なコードを参考までに共有し...

Navicat 8でMySQL用のデータベースを作成する方法

ウェブサイトを開発する場合、データを保存するためにデータベースを使用する必要があることがよくあります...

Tomcat10 Catalinaのログの文字化けの問題を解決する

実行環境、Idea2020バージョン、Tomcat10、実行時にTomcat CatalinaLog...

Dockerfileを使用して独自のイメージを作成する方法

1. 空のディレクトリを作成する $ cd /home/xm6f/dev $ mkdir myapp...

NodeはMySQLに接続し、追加、削除、変更、チェックのための実装コードをカプセル化します。

目次ノードはMysqlに接続しますMySQLモジュールをインストールするMySQLに接続するよく使わ...