我的警报很明确,当用户单击“ x”以获取关闭警报时,问题是以后再也不会显示警报了。 (用户确实点击了“ x”);
所以我认为禁用此“ x”,然后我需要删除警报,我认为是“ Timer”,但是此定时器...也许显示警报1段或10段,有时没有时间读取它。我尝试过续订,但我做不到。
所以,或者我需要带有Angular2的Timer或其他解决方案来发出清晰警报。
示例代码:
public confirmedServer;
public errorServer;
public timerAlert: boolean = false;
public sub;
ngOnInit() {
this.callTimer();
}
private callTimer() {
let timer;
if (this.sub) {
this.sub.unsubscribe();
timer = Observable.timer(10, 11000);
this.timerAlerts(timer);
} else {
timer = Observable.timer(10, 11000);
this.timerAlerts(timer);
}
}
private timerAlerts(timer) {
this.sub = timer.subscribe(() => {
if (this.errorServer || this.confirmedServer) {
this.timerAlert = true; // firstTrue
this.timerAlert = false;
this.errorServer = false;
this.confirmedServer = false;
}
});
}
HTML
<clr-alert [(clrAlertClosed)]="timerAlert" [clrAlertClosable]="false" [clrAlertType]="'alert-danger'" *ngIf="errorServer">
<clr-alert-item>
<span class="alert-text">
{{ this.myMessage.message }}
</span>
</clr-alert-item>
</clr-alert>
谢谢