Mam problem z ukryciem i wyświetleniem elementu zależnego od zmiennej boolowskiej w Angular 2.
to jest kod elementu div, który ma pokazywać i ukrywać:
<div *ngIf="edited==true" class="alert alert-success alert-dismissible fade in" role="alert">
<strong>List Saved!</strong> Your changes has been saved.
</div>
zmienna jest „edytowana” i jest przechowywana w moim komponencie:
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);
}
}
Element jest ukryty, po uruchomieniu funkcji saveTodos element jest pokazywany, ale po 3 sekundach, nawet jeśli zmienna wróci na fałsz, element się nie ukryje. Czemu?
edited
jest zmienną globalną. Jakie byłoby Twoje podejście w ramach*ngFor-loop
?