Таймер для скрытых оповещений о ясности
Я пытаюсь скрыть предупреждения ясности в течение 2-3 секунд, но с этим кодом t не отображается, и я не понимаю.
import { Observable} from 'rxjs/Rx';
public timerAlert: boolean = false;
ngOnInit() {
let timer = Observable.timer(2000, 3000);
timer.subscribe( () => {
this.timerAlert = true; --> with this line My alert doesn't show.
});
}
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>
[clrAlertClosable]="false" for hidde 'x' in Alert.
[(clrAlertClosed)]="timerAlert" with this, I should show or not the alert.
1 ответ
Я могу решить это... 50%
import { Observable } from 'rxjs/Rx';
public timerAlert: boolean = false;
ngOnInit() {
let timer = Observable.timer(10, 8000);
this.timerAlerts(timer);
}
private timerAlerts(timer) {
timer.subscribe(() => {
if (this.errorServer || this.confirmedServer) {
this.timerAlert = true; // firstTrue
this.timerAlert = false;
this.errorServer = false;
this.confirmedServer = false;
}
});
}
Единственная проблема... Если вы вставляете или изменяете быстро, время не начинается, то есть, если вы изменяете что-то в течение 7 секунд, подтверждение сообщения только 1 секунда...
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>
<clr-alert [(clrAlertClosed)]="timerAlert" [clrAlertClosable]="false" [clrAlertType]="'alert-success'" *ngIf="confirmedServer">
<clr-alert-item>
<span class="alert-success">
{{ this.myMessage.message }}
</span>
</clr-alert-item>
</clr-alert>
Как я могу решить это?