Tôi đang gặp vấn đề khi ẩn và hiển thị một phần tử tùy thuộc vào biến boolean trong Angular 2.
đây là mã để div hiển thị và ẩn:
<div *ngIf="edited==true" class="alert alert-success alert-dismissible fade in" role="alert">
<strong>List Saved!</strong> Your changes has been saved.
</div>
biến được "chỉnh sửa" và nó được lưu trong thành phần của tôi:
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);
}
}
Phần tử bị ẩn, khi hàm saveTodos khởi động, phần tử được hiển thị, nhưng sau 3 giây, ngay cả khi biến trở lại là false, phần tử không ẩn. Tại sao?
editedlà một biến toàn cầu. Điều gì sẽ là cách tiếp cận của bạn trong một*ngFor-loop?