управление состоянием при обновлении страницы / функции добавления в корзину angular 9

#angular

#angular

Вопрос:

Мне интересно, как сохранить объекты корзины, когда пользователь обновляет страницу. Ситуация: у меня есть функция добавления в корзину, которая может быть доступна / видна из многих компонентов. Мне нужно поддерживать объекты корзины при переходе с одной страницы на другую (будет использоваться SPA-маршрутизация), а также при обновлении страницы. Может ли кто-нибудь предложить наилучший подход к этому. Примечание: объекты, добавленные в корзину, могут содержать много данных типа ключ-значение, которые необходимы для компонента корзины (предложения по этому вопросу также будут дополнением) Технический стек: angular 9 условие: пользователь не вошел в систему.

Заранее спасибо.

Комментарии:

1. звучит как задание для файлов cookie… их использование вызвало какую-то проблему?

Ответ №1:

Лучший подход — сохранить их в БД. но если у вас нет какой-либо серверной части, вы можете добавить localstorage или sessionStorage

 localStorage.setItem('cartItems', JSON.stringify(this.itemsInCart));
this.itemsInCart = JSON.parse(localStorage.getItem('cartItems'));
 

вы можете найти некоторую информацию здесь:

https://www.digitalocean.com/community/tutorials/js-introduction-localstorage-sessionstorage