Angular で親コンポーネントと子コンポーネントの間でデータを転送する方法について話しましょう

青灯夜游
リリース: 2022-02-16 10:59:31
転載
1906 人が閲覧しました

Angular で親コンポーネントと子コンポーネント間でデータを転送するにはどうすればよいですか?次の記事では、Angularの親コンポーネントから子コンポーネントにデータを送信する方法、および子コンポーネントから親コンポーネントにデータを送信する方法について説明します。

Angular で親コンポーネントと子コンポーネントの間でデータを転送する方法について話しましょう

#環境:

    Angular CLI: 11.0.6
  • Angular: 11.0.7
  • Node: 12.18.3
  • npm : 6.14.6
  • IDE: Visual Studio Code
コンポーネント間でのデータ転送、最も重要なこと親コンポーネントと子コンポーネントの間でデータを転送するためのものです。例:

  
ログイン後にコピー

親コンポーネントは子コンポーネントにデータを渡します。同時に、子コンポーネントのデータが変更されたときに、親コンポーネントがデータを変更することが期待されます。コンポーネントに通知できます。

Angular では、@Input() と @Output() は、子コンポーネントが親コンポーネントと通信する方法を提供します。 @Input() を使用すると、親コンポーネントは子コンポーネントのデータを更新できます。対照的に、 @Output() を使用すると、子コンポーネントが親コンポーネントにデータを送信できます。 [関連チュートリアルの推奨事項: "

angular チュートリアル"]

father-to-child@Input()

1 . 子コンポーネントの定義 @Input()

子コンポーネントの @Input() デコレータは、プロパティが親コンポーネントから値を取得できることを示します。

例:

export class ChildComponent { @Input() message: string; }
ログイン後にコピー

  • @Input() デコレータの変数を追加します。データを親コンポーネントから渡すことができる点を除き、他のロジックは同じです。通常の変数の変数;

  • サブコンポーネントの HTML コードでは、メッセージ変数を使用できます。例:

  • Parent says: {{message}}

    ログイン後にコピー

2. 親コンポーネントから子コンポーネントに渡される変数

親コンポーネントが子コンポーネントを呼び出すと、親コンポーネントの変数 (

など) messageToChild) を子コンポーネント

ログイン後にコピー

に渡すことができます。子コンポーネントでは、変数に渡される

messageを変更できますが、そのスコープは子コンポーネント内のみです。コンポーネントが変更され、親コンポーネントは変更された結果を取得できません。 (親コンポーネントに渡す方法については、続きをお読みください)

子から親に渡す @Output()

Angular はイベントを使用して、データの変更を親コンポーネントに通知します。親コンポーネントはこのイベントをサブスクライブする必要があります。

1. サブコンポーネント定義@出力

サブコンポーネント定義@出力

export class ChildComponent { // EventEmitter ,这意味着它是一个事件 // new EventEmitter() - // 使用 Angular 来创建一个新的事件发射器,它发出的数据是 string 类型的。 @Output() newItemEvent = new EventEmitter(); addNewItem(value: string) { this.newItemEvent.emit(value); } }
ログイン後にコピー

データが変更されたときのサブコンポーネントは、これを呼び出すだけです。

addNewItemメソッド。たとえば、HTML

 
ログイン後にコピー

2 では、親コンポーネントはイベント

#1 をサブスクライブします。親コンポーネントの ts コードでは、次のようになります。上記のイベントを処理する関数を追加し、親コンポーネントの HTML にある

addItem(newItem: string) { // logic here }
ログイン後にコピー

2 などのメソッドでイベントをサブスクライブします。

ログイン後にコピー

イベント バインディング

(newItemEvent)='addItem($event)'は、子コンポーネントの newItemEvent イベントを親コンポーネントの addItem() メソッドに接続します。

概要

  • @Input() と @Output() を使用すると、親コンポーネントと子コンポーネント間のデータ転送と共有を簡単に実現できます。

  • ##@Input() と @Output() は同時に使用できます
  • ##プログラミング関連の知識については、次のサイトを参照してください。
  • プログラミング学習
! !

以上がAngular で親コンポーネントと子コンポーネントの間でデータを転送する方法について話しましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:csdn.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!