Tengo un problema para ocultar y mostrar un elemento que depende de una variable booleana en Angular 2.
Este es el código para que el div muestre y oculte:
<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 variable está "editada" y se almacena en mi 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);
}
}
El elemento está oculto, cuando se inicia la función saveTodos, se muestra el elemento, pero después de 3 segundos, incluso si la variable vuelve a ser falsa, el elemento no se oculta. ¿Por qué?
edited
Es una variable global. ¿Cuál sería su enfoque dentro de un*ngFor-loop
?