Alle meine Ereignisemitter funktionieren bis auf eine ordnungsgemäß.Angular 4 - Aufruf einer übergeordneten Methode von einer untergeordneten Komponente funktioniert nicht
child.ts:
@Component({
...
outputs: ['fileUploaded']
})
export class childComponent implements OnInit {
...
fileUploaded = new EventEmitter<boolean>();
...
randomMethod(){
...
this.fileUploaded.emit(true);
}
}
randomMethod() wird von der übergeordneten Komponente genannt, wie ich in parent.ts zeigen würde. Es wird nicht in child.html aufgerufen.
Parent.html
...
<child (fileUploaded)="onSubmit($event)"></child>
..
parent.ts
export class parentComponent {
...
theChild = new childComponent;
submitted = false;
...
onSubmit(event: boolean) {
console.log('in onSubmit()');
this.submitted = event;
}
functionCallsChild(){
this.theChild.randomMethod();
...
this.theChild = new childComponent;
}
}
Meine App meldet sich nie "in onSubmit()" warum also nicht aufgerufen diese Methode wird? Ich habe auch versucht, kein neues Kind-Objekt in meiner letzten Zeile zu erstellen, aber das hat keinen Unterschied gemacht.
versuchen, @Output Dekorateur zu verwenden, siehe mehr: http://learnangular2.com/outputs/ –