Angular の親コンポーネントと子コンポーネントの間で通信する方法についての簡単な説明
この記事では、Angular におけるコンポーネント通信を理解し、親コンポーネントが子コンポーネントに通信する方法、子コンポーネントが親コンポーネントに通信する方法を紹介します。 !
コンポーネント通信
コンポーネントは完全に独立しているため、相互間のデータは共有されません。コンポーネント間でデータを共有したい場合は、コンポーネント間の通信を実装する必要があります。 [関連チュートリアルの推奨事項: "angular チュートリアル"]
コンポーネント間の通信
- ##親コンポーネントから子コンポーネントへの通信 ##サブコンポーネントは親コンポーネントと通信します
- ng6 コンポーネント間の通信を実現するために、スループットが提供されます: 入力、出力
親コンポーネントは子コンポーネントと通信します#ng6 は ts に基づいて実装されているため、通信データは型を定義する必要があります (内部構造の理解、メモリ領域の割り当て)
親コンポーネントは子コンポーネントと通信します。 コンポーネント通信では、サブコンポーネントが受信側となるため、入力スループットが使用されます。 #親コンポーネントからサブコンポーネントへの通信は、次のように分割されます。 6 つのステップ最初のステップ 親コンポーネント テンプレートで、データを子コンポーネントに渡します。データが動的に可変である場合は、[] 構文のシュガー
を使用できます。2 番目のステップ データ モデル クラスを定義します (データが非常に単純な場合は、このステップを省略できます)
ng ディレクティブを使用してモデル クラスを定義することもできますng class 类名
サブコンポーネントにモデル クラスを導入します
4 番目のステップ ステップ サブコンポーネントで、スループット入力を導入します
5 番目のステップ スループットを通じてデータを受信するには 2 つの方法があります
最初の方法は、入力スループット アノテーション クラスを通じてデータを受信することです。
@Input() 数据名称: 模型类;
ログイン後にコピー2 番目の方法は、アノテーション メタ情報を通じてデータを受信することですコンポーネントの入力
アノテーション クラス内: 入力:
[属性データ]
コンポーネント内: 属性データ: モデルclass;
ステップ 6
データを使用する: データはコンポーネント自体に追加されるため、コンポーネントまたはテンプレートのどちらでも使用できます。 #例:
// 4 引入吞吐器 import { Component, OnInit, Input } from '@angular/core'; // 3 引入模型类 import { Data } from '../../models/data'; @Component({ selector: 'app-inputs', templateUrl: './inputs.component.html', styleUrls: ['./inputs.component.css'], // 5 通过元信息接收 inputs: ['color', 'data'] }) export class InputsComponent implements OnInit { // 5 接收数据 // @Input() data: Data; // @Input() color: string; // 声明类型 data: Data; color: string; constructor() { // 6 组件中使用 console.log(this) } ngOnInit() { } }
子コンポーネントと親コンポーネント間の通信
子コンポーネントと親コンポーネント間の通信は、カスタム イベントに基づいています。サブコンポーネントの場合はパブリッシャーであるため、Ouput スループットを使用します。サブコンポーネントと親コンポーネント間の通信を実装するには 6 つの手順があります
最初のステップ親コンポーネント テンプレートで、DOM イベントをシミュレートし、親コンポーネント メソッドを子コンポーネント要素にバインドし、() 構文シュガーを使用します。 例: (demo)="dealDemo($event) "
データを渡すために、$eventを追加します。
2番目のステップサブコンポーネントに、スループットの出力を導入します。
3番目のステップステップサブコンポーネントで、EventEmitter イベント モジュールを導入します#ステップ 4
サブコンポーネントのイベント オブジェクトを作成するには 2 つの方法があります##最初の方法は出力スループットを介して登録します
@Output() 属性名称 = new EventEmitter()
- 2 番目のタイプは、アノテーションのメタ情報出力を通じて受信することもできます
- アノテーションで、属性の出力を登録します。
コンポーネントで、イベント オブジェクトを作成します。
属性名 = new EventEmitter()
ステップ 5
子コンポーネントで、イベント オブジェクトの Emit メソッドを通じてメッセージをパブリッシュします。パラメータは渡されたデータです。
ステップ 6
親コンポーネントで、親コンポーネント メソッドを介して受信しますサブコンポーネントによって渡されるデータ
import { Component, OnInit, Output, EventEmitter } from '@angular/core'; @Component({ selector: 'app-outputs', templateUrl: './outputs.component.html', styleUrls: ['./outputs.component.css'], // 元信息注册事件对象 outputs: ['sendMessage'] }) export class OutputsComponent implements OnInit { // 4 注册事件对象 // @Output() sendMessage = new EventEmitter(); // 实例化 sendMessage = new EventEmitter(); constructor() { } ngOnInit() { } // 事件回调函数 demo() { // console.log(111, this) // 5 点击按钮的时候,向父组件发布消息 this.sendMessage.emit({ msg: 'hello菜鸟', color: 'red' }) } }
プログラミング関連の知識の詳細については、プログラミング入門を参照してください。 !
以上がAngular の親コンポーネントと子コンポーネントの間で通信する方法についての簡単な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Angular.js は、動的アプリケーションを作成するための無料でアクセスできる JavaScript プラットフォームです。 HTML の構文をテンプレート言語として拡張することで、アプリケーションのさまざまな側面を迅速かつ明確に表現できます。 Angular.js は、コードの作成、更新、テストに役立つさまざまなツールを提供します。さらに、ルーティングやフォーム管理などの多くの機能も提供します。このガイドでは、Ubuntu24 に Angular をインストールする方法について説明します。まず、Node.js をインストールする必要があります。 Node.js は、ChromeV8 エンジンに基づく JavaScript 実行環境で、サーバー側で JavaScript コードを実行できます。ウブにいるために

この記事では、Angular のステートマネージャー NgRx について深く理解し、NgRx の使用方法を紹介します。

Angularでモナコエディタを使用するにはどうすればよいですか?以下の記事は、最近業務で使用したangularでのmonaco-editorの使い方を記録したものですので、皆様のお役に立てれば幸いです。

Angular Universal をご存知ですか?これは、Web サイトがより優れた SEO サポートを提供するのに役立ちます。

インターネットの急速な発展に伴い、フロントエンド開発テクノロジーも常に改善され、反復されています。 PHP と Angular は、フロントエンド開発で広く使用されている 2 つのテクノロジーです。 PHP は、フォームの処理、動的ページの生成、アクセス許可の管理などのタスクを処理できるサーバー側スクリプト言語です。 Angular は、単一ページ アプリケーションの開発やコンポーネント化された Web アプリケーションの構築に使用できる JavaScript フレームワークです。この記事では、PHPとAngularをフロントエンド開発に使用する方法と、それらを組み合わせる方法を紹介します。

Angular フレームワークのコンポーネントのデフォルトの表示動作は、ブロックレベルの要素ではありません。この設計の選択により、コンポーネント スタイルのカプセル化が促進され、開発者が各コンポーネントの表示方法を意識的に定義することが促進されます。 CSS プロパティの表示を明示的に設定することで、Angular コンポーネントの表示を完全に制御して、目的のレイアウトと応答性を実現できます。

Angular プロジェクトが大きすぎます。適切に分割するにはどうすればよいですか?次の記事では、Angular プロジェクトを合理的に分割する方法を紹介します。

angular-datetime-picker 形式をカスタマイズするにはどうすればよいですか?次の記事ではフォーマットのカスタマイズ方法について説明していますので、皆様のお役に立てれば幸いです。
