Ich habe ein Problem beim Ausblenden und Anzeigen eines Elements in Abhängigkeit von einer booleschen Variablen in Angular 2.
Dies ist der Code, den das Div ein- und ausblenden soll:
<div *ngIf="edited==true" class="alert alert-success alert-dismissible fade in" role="alert">
<strong>List Saved!</strong> Your changes has been saved.
</div>
Die Variable ist "bearbeitet" und in meiner Komponente gespeichert:
export class AppComponent implements OnInit{
(...)
public edited = false;
(...)
saveTodos(): void {
//show box msg
this.edited = true;
//wait 3 Seconds and hide
setTimeout(function() {
this.edited = false;
console.log(this.edited);
}, 3000);
}
}
Das Element wird ausgeblendet. Wenn die Funktion saveTodos gestartet wird, wird das Element angezeigt. Nach 3 Sekunden wird das Element jedoch nicht ausgeblendet, selbst wenn die Variable wieder falsch ist. Warum?
edited
ist eine globale Variable. Was wäre Ihr Ansatz innerhalb eines*ngFor-loop
?