Angular 2のブール変数に依存する要素を隠したり表示したりするのに問題があります。
これは、divが表示および非表示にするコードです。
<div *ngIf="edited==true" class="alert alert-success alert-dismissible fade in" role="alert">
<strong>List Saved!</strong> Your changes has been saved.
</div>
変数は「編集」され、コンポーネントに格納されます。
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);
}
}
要素は非表示になっています。saveTodos関数を開始すると、要素が表示されますが、3秒後に変数がfalseに戻っても、要素は非表示になりません。どうして?
edited
グローバル変数です。内でのあなたのアプローチは*ngFor-loop
何ですか?