Ich habe eine Weile nicht mit Angular gearbeitet, aber ich erinnere mich, dass ich die Elemente mit * ngIf ausgelöst habe. Ich bin mir nicht sicher, was los ist. Wenn ich die Funktion geradeaus trigge <button (click)="play()">...</button>
funktioniert es, aber ich sehe nicht den Punkt, warum es nicht funktioniert mit Objekt Eigenschaft. Wenn die Eigenschaft des Objekts verwendet wird, wird die Methode ausgelöst, aber der Wert wird nie geändert (ist es nicht die gleiche Instanz oder etwas?).Angular's * ngIf zeigt nicht die Tamplate der Komponente
Komponente:
public showPlay: boolean = false;
public arr: Array<Object> = [
{clickHandler: this.play}
];
play(): void {
this.showPlay = !this.showPlay;
}
Vorlage:
<button *ngFor="let button of arr" (click)="button.clickHandler()">Click</button>
<play-interface *ngIf="showPlay"></play-interface>
Es scheint wie ein wirklich ineffizienter Weg, dies zu tun, aber gut, es funktioniert. Vielen Dank @Sajeetharan –