Как отобразить сообщение для первой новой записи?
У меня имеется условие если появляется новая запись то должно отобразиться сообщение. И у меня возникает проблема в счетчике. Когда происходит добавление новой первой записи счетчик на данном этапе равен еще 0 и из-за этого сообщение не отображается.
Если установить условие:
if (this.counter >= 0) {}
То при каждой перезагрузке страницы будет всплывать мое сообщение.
Как это можно исправить?
ts:
counter = 0;
load() {
this.ngUnsubscribe = timer(0, 1000).pipe(
switchMap(() => this._orders.getAllOrders()),
filter(data => data.length !== (this.orders || []).length)
).subscribe(orders => {
this.orders = orders;
if (this.counter > 0) {
this._toast.warning('Новое.', 'Внимание!', {
closeButton: true,
disableTimeOut: true
});
}
this.counter++;
}, error => {
this._toast.error(error.error.message);
})
}
Ответы (1 шт):
Можете сохранить состояние одним из способов Cookie SessionStorage LocalStorage
и при следующей загрузке посмотреть имеется ли запись в хранилище, если имеется то взять значение если нет то показать ваше сообщение.
Веб хранилища в браузерах реализованы в виде LocalStorage и Session Storage. Также для обмена данными между Сервером и браузером используются куки, которые представляют собой ключ значение. Управление куками можно тоже в какой-то мере назвать хранилищем, но очень абстрактно.