2017-02-28 5 views
2

Entsprechend this answer kann ich einen Ereignisemitter zu meinem Ausgang definieren.Wie werden Daten beim Ausgeben über EventEmitter in Angular 2 bereitgestellt?

export class NavComponent { 
    @Output() poof: EventEmitter<any> = new EventEmitter(); 
    onClick():void { this.poof.emit(null); } 
} 

Dann kann ich das Ereignis zum Markup gemäß unten emittieren.

<navbar (poof)="catcher.boom()"></navbar> 
<compa #catcher></compa> 

Ich habe versucht, ein Objekt statt null mit this.poof.emit({}); und der Änderung der Markup von catcher.boom(input) bereitzustellen. Das hat nicht funktioniert und die Konsole sagt mir, dass die Eingabe nicht definiert ist.

Wie kann ich ein Objekt mithilfe des obigen Setups bereitstellen? Gibt es einen klügeren Ansatz?

+0

bietet versuchen (puh) mit = „catcher.boom (' $ event')“ –

Antwort

2

Sie müssen die implizite $event Variable verwenden, die der emittierten Wert

<navbar (poof)="catcher.boom($event)"></navbar> 
+0

ich auf den Versuch stecken geblieben, ein Objekt zu schieben durch den Hals von '@Output (Kehle-hier)'. Jetzt fühle ich mich fast blöd, weil ich nicht versucht habe. –

Verwandte Themen