So habe ich eine Veranstaltung Emitter funktioniert gut. In meinem Kind, rufe ich eine Funktion:Angular 4 Event Emitter nicht emittieren
(click)="EnterEditMode()
die Brände:
EnterEditMode(){
this.enterEdit.emit(null);
}
In meinen Eltern habe ich dann:
enterEdit(){
console.log("got some text");
}
Diese einwandfrei funktioniert. Aber jetzt möchte ich eine zweite Ausgabe direkt daneben hinzufügen. So in dem Kind, ich rufe:
SaveChanges();
, die eine Funktion auslöst:
SaveChanges() {
this.saveChanges.emit(null);
console.log("save");
}
Als ich nenne dies das Konsolenprotokoll ausgelöst wird, aber die emit nicht ausgelöst. Mein Elternteil hat eine Funktion, die nie aufgerufen wird.
saveChanges() {
console.log("saving changes");
this.editing ? this.editing = false : this.editing = true;
}
Ich kann wirklich nicht sehen, was ich falsch mache und habe Ärger zu schießen versucht, aber ich bin keine Fehler bekommen, nur das Konsolenprotokoll, dass die „Savechanges()“ aufgerufen wurde. Fehle ich etwas über Emitter?
bearbeiten meine Veranstaltung Emittern
In meinem Kind Komponente zeigen I:
@Output() enterEdit = new EventEmitter<any>();
@Output() saveChanges = new EventEmitter<any>();
Wieder arbeitet enterEdit aber savechanges nicht ...
Zeigen Sie uns, wo und wie Sie die Ereignisstrahler erklärt haben, bitte. –
Bitte zeigen Sie die Emitter- und HTML-Deklaration an, an die Sie die Ereignisse binden. –
Ursprüngliche Frage eingestellt. Vielen Dank. – DKinnison