⊗jsagPmCMCDE 67 of 97 menu

Angular에서 부모 컴포넌트로 데이터 전달하기

자식 컴포넌트에서 부모 컴포넌트로 데이터를 전달할 수 있습니다. 이는 특수 객체 EventEmitter와 메서드 emit를 사용하여 이벤트를 발생시킴으로써 수행됩니다. 자식 컴포넌트는 이벤트와 함께 일부 데이터를 전달하여 이벤트를 발생시키고, 부모 컴포넌트는 이벤트를 캐치하여 자식 컴포넌트로부터 데이터를 받습니다.

실제로 시도해 봅시다. 이를 위해 몇 가지 단계를 거쳐야 합니다. 먼저 자식 컴포넌트에 데코레이터 @Output와 클래스 EventEmitter를 임포트합니다:

import { Component, Output, EventEmitter } from '@angular/core';

이제 자식 클래스에 속성 onData를 만들고, 그 값으로 문자열을 포함하는 새로운 객체 EventEmitter를 설정합니다:

export class UserComponent { @Output() public onData = new EventEmitter<string>(); }

이제 메서드 send를 만들어, 호출 시 지정된 텍스트와 함께 onData 이벤트를 부모 컴포넌트로 발생시킵니다:

export class UserComponent { @Output() public onData = new EventEmitter<string>(); send() { this.onData.emit('xxx'); } }

자식 컴포넌트의 템플릿에 버튼을 만들고, 클릭 시 메서드 send가 호출되도록 합니다:

<button (click)="send()"> 데이터 전송 </button>

부모 컴포넌트에 메서드 onData를 만들고, 자식 컴포넌트에서 해당 이벤트가 발생하면 자동으로 호출되도록 합니다. 메서드의 매개변수에는 전달된 데이터가 들어갑니다:

export class AppComponent { public onData(data: string) { console.log(data); } }

부모 컴포넌트의 템플릿에서 자식 컴포넌트 태그에 이벤트를 바인딩합니다:

<app-user (onData)="onData($event)"></app-user>

자식 컴포넌트에서 서로 다른 이벤트를 발생시키는 세 개의 버튼을 만드세요. 부모 컴포넌트에서 발생된 이벤트를 캐치하세요.

한국어
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақКыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
우리는 웹사이트 운영, 분석 및 개인화를 위해 쿠키를 사용합니다. 데이터 처리는 개인정보 처리방침에 따라 이루어집니다.
모두 수락 설정 거부