我在隐藏和显示一个元素时遇到问题,该元素取决于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>
Run Code Online (Sandbox Code Playgroud)
变量被"编辑"并存储在我的组件中:
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);
}
}
Run Code Online (Sandbox Code Playgroud)
元素被隐藏,当saveTodos函数启动时,元素会显示,但是3秒后,即使变量返回false,元素也不会隐藏.为什么?