javascript - Angular 5: Çocuktan ebeveyn bileşene bir dizi aktarma


Bir çocuk ve bir ebeveyn bileşenim var.

Çocuk bileşenden bir dizi geçirmek ve bunu ebeveyn bileşende görüntülemek istiyorum.

İlk olarak şunlarla başladım:

@Input data: string[];

Sonra ngOnInit içinde şunlar var:

ngOnInit() {
   this.data = ['name1', 'name2', 'name3'];
}

O zaman benim ana bileşenim var:

<app.parent></app.parent>

Benim sorum şu: Bu veriyi üst bileşende nasıl görüntülerim?

Cevap #1

Aşağıda olduğu gibi @Output() kullanmalısınız,

@Output() data: EventEmitter<string[]> = new EventEmitter<string[]>();

ngOnInit() {
   this.data.emit(['name1', 'name2', 'name3']);
}

Olayı ebeveyninizde ele almanız gerekir

<app.parent (data)="eventHandler($event)"></app.parent>

eventHandler(event:string[]){
     this.childData = event;
}

Bileşeninizde childData'yı şu şekilde görüntüleyin

{{childData}}