Angular で親コンポーネントと子コンポーネント間でデータを転送するにはどうすればよいですか?次の記事では、Angularの親コンポーネントから子コンポーネントにデータを送信する方法、および子コンポーネントから親コンポーネントにデータを送信する方法について説明します。
#環境:コンポーネント間でのデータ転送、最も重要なこと親コンポーネントと子コンポーネントの間でデータを転送するためのものです。例:Angular CLI: 11.0.6
- Angular: 11.0.7
- Node: 12.18.3
- npm : 6.14.6
- IDE: Visual Studio Code
angular チュートリアル"]
1 . 子コンポーネントの定義 @Input()
子コンポーネントの @Input() デコレータは、プロパティが親コンポーネントから値を取得できることを示します。 例:export class ChildComponent { @Input() message: string; }
Parent says: {{message}}
2. 親コンポーネントから子コンポーネントに渡される変数
親コンポーネントが子コンポーネントを呼び出すと、親コンポーネントの変数 (など) messageToChild) を子コンポーネント
に渡すことができます。子コンポーネントでは、変数に渡される子から親に渡す @Output() Angular はイベントを使用して、データの変更を親コンポーネントに通知します。親コンポーネントはこのイベントをサブスクライブする必要があります。message
を変更できますが、そのスコープは子コンポーネント内のみです。コンポーネントが変更され、親コンポーネントは変更された結果を取得できません。 (親コンポーネントに渡す方法については、続きをお読みください)
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 }
(newItemEvent)='addItem($event)'は、子コンポーネントの newItemEvent イベントを親コンポーネントの addItem() メソッドに接続します。
以上がAngular で親コンポーネントと子コンポーネントの間でデータを転送する方法について話しましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。