Sto riscontrando un problema nel nascondere e mostrare un elemento dipendente da una variabile booleana in Angular 2.
questo è il codice per il div da mostrare e nascondere:
<div *ngIf="edited==true" class="alert alert-success alert-dismissible fade in" role="alert">
<strong>List Saved!</strong> Your changes has been saved.
</div>
la variabile è "modificata" ed è memorizzata nel mio componente:
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);
}
}
L'elemento è nascosto, quando si avvia la funzione saveTodos, viene mostrato l'elemento, ma dopo 3 secondi, anche se la variabile torna ad essere falsa, l'elemento non si nasconde. Perché?
edited
è una variabile globale. Quale sarebbe il tuo approccio all'interno di un*ngFor-loop
?