Estou tendo um problema ao ocultar e mostrar um elemento dependendo de uma variável booleana no Angular 2.
este é o código para a div mostrar e ocultar:
<div *ngIf="edited==true" class="alert alert-success alert-dismissible fade in" role="alert">
<strong>List Saved!</strong> Your changes has been saved.
</div>
a variável é "editada" e é armazenada no meu 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);
}
}
O elemento está oculto, quando a função saveTodos é iniciada, o elemento é mostrado, mas após 3 segundos, mesmo que a variável volte a ser falsa, o elemento não se oculta. Por quê?
edited
é uma variável global. Qual seria sua abordagem dentro de um*ngFor-loop
?