javascript - Kan inte fånga händelse som skickas från barnkomponent i Angular 4
Jag ber om ursäkt för min nybörjarfråga, jag försöker sända ett event från ett barnkomponent till ett föräldrakomponent med en @Output EventEmitter. Jag kan inte fånga eventet i mitt föräldrakomponent.
Underkomponent
@Component({
selector: 'app-new-attachment',
templateUrl: './new-attachment.component.html',
styleUrls: ['./new-attachment.component.css']
})
class NewAttachmentComponent {
@Input('attachment') attachment: any;
@Output() doneEditingAttachment:EventEmitter<boolean> = new EventEmitter<boolean>();
submit() {
console.log('done editing child');
this.doneEditingAttachment.emit(true);
}
}
Föräldrakomponent
@Component({
selector: 'app-new-article',
templateUrl: './new-article.component.html',
styleUrls: ['./new-article.component.css']
})
class NewArticleComponent {
newAttachment: any = {};
doneEditingAttachment($event) {
console.log('done editing parent ', $event);
}
}
Jag förväntade mig att ha
klar med att redigera barnet
Och en
klar med att redigera förälder
Men jag blev bara klar med att redigera barnet
Svar #1
Du behöver faktiskt ha en bindning till barnets händelse med (eventName)-notationen:
<app-new-attachment [attachment]="newAttachment" (doneEditingAttachment)="doneEditingAttachment($event)"></app-new-attachment>
Svar #2
Baserat på kommentaren behöver du detta,
<app-new-attachment [attachment]="newAttachment" (doneEditingAttachment)="submit()"></app-new-attachment>
