@picka

Как в VUEX NUXT.JS добавлять товар в корзину, при этом добавляя ему уникальный артикль?

ПРОБЛЕМА: При добавлении товара в корзину, через мутацию добавляю массиву товара в ключ "code" значение *** - генерирующийся артикль состоящий из цифр. Артикль несет в себе модель товара и ее цвет и размер. То есть при выборе такого же товара но с другим цветом или размером - артикль меняется. Так оно все и происходит, артикль генерируется при нажатии "ДОБАВИТЬ В КОРЗИНУ" и вместе с самим товаром едет в мутацию VUEX, где тот добавляет в "code": "артикль", но если оставаться на странице, и например крутить параметры этого же товара дальше(ну например хочу я толстовку двух размеров), то артикль поменяется и у первого.

Вот код мутации:
ADD_TO_CART(state, {post1, genCode}) {
        post1.code = genCode
        state.cart.push(post1)
},


Вот код на странице товара, который просто высылает мутации сам товар и готовый артикль
this.$store.commit('cart/ADD_TO_CART', {post1, genCode})


Пробовал сделать копию товара, и отправлять ее, но все равно одно и тоже.

Во VUEX я новичок.
Помогайте братцы.

____________________________________
Заметил что мутирует не тот элемент товара который я отправляю. А не посредственно его оригинал в state. Подскажите как это исправить.
  • Вопрос задан
  • 48 просмотров
Пригласить эксперта
Ответы на вопрос 1
Сделать копию должно быть достаточно, иначе вы кладете несколько ссылок на один и тот же объект в ваш массив предметов в корзине.
this.$store.commit('cart/ADD_TO_CART', {post1: { ...post1 }, genCode})
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы