Angular で親コンポーネントと子コンポーネント間でデータを転送するにはどうすればよいですか?次の記事では、Angular の親コンポーネントから子コンポーネントにデータを送信する方法、および子コンポーネントから親コンポーネントにデータを送信する方法について説明します。
#環境:コンポーネント間でのデータ転送、最も重要なこと親コンポーネントと子コンポーネントの間でデータを転送するためのものです。例:Angular CLI: 11.0.6
- Angular: 11.0.7
- Node: 12.18.3
- npm : 6.14.6
- IDE: Visual Studio Code
<parent-component> <child-component></child-component> </parent-component>
angular チュートリアル"]
1 . 子コンポーネントの定義 @Input()
子コンポーネントの @Input() デコレータは、プロパティが親コンポーネントから値を取得できることを示します。 例:export class ChildComponent { @Input() message: string; }
<p> Parent says: {{message}} </p>
2. 親コンポーネントから子コンポーネントに渡される変数
親コンポーネントが子コンポーネントを呼び出すと、親コンポーネントの変数 ( など) messageToChild) を子コンポーネント
<child-component [message]="messageToChild"></child-component>
に渡すことができます。子コンポーネントでは、変数に渡される子から親に渡す @Output()Angular はイベントを使用して、データの変更を親コンポーネントに通知します。親コンポーネントはこのイベントをサブスクライブする必要があります。message
を変更できますが、そのスコープは子コンポーネント内のみです。コンポーネントが変更され、親コンポーネントは変更された結果を取得できません。 (親コンポーネントに渡す方法については、続きをお読みください)
1. サブコンポーネント定義@出力
サブコンポーネント定義@出力export class ChildComponent { // EventEmitter ,这意味着它是一个事件 // new EventEmitter<string>() - // 使用 Angular 来创建一个新的事件发射器,它发出的数据是 string 类型的。 @Output() newItemEvent = new EventEmitter<string>(); addNewItem(value: string) { this.newItemEvent.emit(value); } }
addNewItem メソッド。たとえば、HTML
<label>Add an item: <input #newItem></label> <button (click)="addNewItem(newItem.value)">Add to parent's list</button>
2 では、親コンポーネントはイベント
#1 をサブスクライブします。親コンポーネントの ts コードでは、次のようになります。上記のイベントを処理する関数を追加し、親コンポーネントの HTML にあるaddItem(newItem: string) { // logic here }
<child-component (newItemEvent)="addItem($event)"></child-component>
(newItemEvent)='addItem($event)' は、子コンポーネントの newItemEvent イベントを親コンポーネントの addItem() メソッドに接続します。
以上がAngular で親コンポーネントと子コンポーネントの間でデータを転送する方法について話しましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。