Appearance
Хранилища
Краткое описание
| Стор | Назначение |
|---|---|
useCartStore | Стор Pinia для управления корзиной товаров в магазине |
Подробное описание
useCartStore
Стор useCartStore предоставляет реактивное состояние и методы для управления корзиной товаров: добавление, удаление, изменение количества, расчёт итоговых значений и очистка
Возвращаемые значения:
| Название | Тип | Описание |
|---|---|---|
productsCart | Ref<Array> | Массив товаров, добавленных в корзину |
itemAddCart | Function | Добавляет товар в корзину или увеличивает его количество |
itemRemoveCart | Function | Удаляет товар из корзины по id |
itemAddedCart | Function | Отмечает товар как добавленный (isAdded = true) |
itemQtyChange | Function | Изменяет количество товара в корзине, либо удаляет его при количестве 0 |
totalItemsCounts | Function | Возвращает общее количество товаров в корзине |
totalItemsPrice | Function | Возвращает итоговую сумму всех товаров |
totalItemsWeight | Function | Возвращает итоговый вес всех товаров в кг (с округлением до 1 знака) |
cartClear | Function | Очищает корзину |
Особенности:
- Использует
defineStoreиз Pinia в формате setup store - Корзина хранится в
productsCartи автоматически сохраняется с помощьюpersist: { pick: ['productsCart'] }с поддержкой SSR - Поддерживает работу с весом как из
item.weight, так и изitem.sizes.weight, с учётом умножения наquantity - Методы
addCartNotifyиremoveCartNotifyзарезервированы для отображения уведомлений - При добавлении товара устанавливается свойство
isAdded: true