169 похожих чатов

Ребят, кто-то может подсказать мне вообще в какую сторону гуглить

и думать, чтобы я смог при нажатие на кнопку 'детальней' во всплывающем окне отобразить информацию связанную с товаром у которого кнопка была нажата? И нужно ли мне для этого отдельный запрос GET делать на товар, если впринципе вся информация по товару есть и в запросе первом, где списком все товары?

36 ответов

19 просмотров

Как все сложно, давай по порядку. Каждый блок с товаром это свой компонент. При нажатии на кнопку посылается ГЕТ запрос с деталями товара, которые потом рисуются в компоненте модалки.

Erik-Arakelian Автор вопроса
Сергей Дёмин
Как все сложно, давай по порядку. Каждый блок с т...

У меня эти товары из общего массива, а не как отдельный компонент.

Не очень логично получать сразу всю информацию о товарах для списка. Так же и выводить в модалку какую-то мелкую информацию.

Erik-Arakelian Автор вопроса
Erik Arakelian
У меня эти товары из общего массива, а не как отде...

Правильно, у вас есть компонент-родитель, он получает этот массив товаров и через for делает цикл где выводит компоненты product-item

Erik-Arakelian Автор вопроса
Сергей Дёмин
Правильно, у вас есть компонент-родитель, он получ...

О как сложно. Отдельный компонент на массив, отдельный компонент на детальный товар

Erik Arakelian
О как сложно. Отдельный компонент на массив, отдел...

Так оно и работает, там ещё в product-item штуки 3 компонентов будет

Erik-Arakelian Автор вопроса
Сергей Дёмин
Так оно и работает, там ещё в product-item штуки 3...

Ясно, буду думать спасибо. А если при нажатие передавать id и класть в selectedItems и в модалке отображать уже то что связанно с id?

Erik Arakelian
Ясно, буду думать спасибо. А если при нажатие пер...

а зачем? вот вы сделали запрос, получили данные и передали их в компонент ProductDetailsModal который потом и открыли для показа

Erik-Arakelian Автор вопроса
Сергей Дёмин
Как все сложно, давай по порядку. Каждый блок с т...

я в компоненте Menu вызываю экшен запрос на массив товаров, передаю из в компонент товара где через пропсы отображаю их.. Сейчас мне нужно как то в модальном окне отображить инфу по данному товару, я не доконца понимаю как это сделать. Я создал метод что при клике на детально, открывается окно и в методе указа экшен запрос на get product, но как передать slug продукта?

Erik Arakelian
screenshot я в компоненте Menu вызываю экшен запрос на массив...

Стора вам тут не особо нужна, но допустим она есть. Вы сделали запрос и получили массив данных, этот массив данных вы можете передать как props в компонент модалки - <ProductModalDetails :data="productData" :show="modalShow" /> и уже внутри компонента делать с данными что угодно. Сама модалка помещается, например возле кнопки которая и вызывает эту модалку. Чтобы модалка работала и не ломала вёрстку, нужно использовать порталы. Для Vue 3 они встроены и есть описание в документации, для Vue 2 нужно ставить пакет - https://www.npmjs.com/package/portal-vue. Нажали, получили данные, передали в компонент модалки и сделали так чтобы она отобразилась. В будущем при желании сюда можно ещё и роутинг накрутить

Erik-Arakelian Автор вопроса

сейчас все так и работает, я могу вывести в модальном окне отдельный данные каждого товара так как благодаря вашим советам сделал все в отдельных компонентах, но эти данные просто из общего массива, а не отдельного get запроса на товар.

Erik Arakelian
сейчас все так и работает, я могу вывести в модаль...

Вот допустим у вас есть компонент - <ProductItem id="42"> и метод который вызывается по @click на кнопке. В нём вы делаете ajax-запрос к серверу (пост или гет) с айдишником товара, который вы получили из props компонента ProductItem. Установили в data компонента переменную productData: null и showModal: false. (для <ProductModalDetails :data="productData" :show="showModal" />) Eсли запрос выполнился и всё отлично - установили полученные данные в переменную productData и поменяли флаг showModal на true. Если запрос не выполнился - вывели ошибку.

Сергей Дёмин
Вот допустим у вас есть компонент - <ProductItem i...

как делать модалку через флаг или v-model есть в интернете и даже в документации по вью

Erik-Arakelian Автор вопроса
Erik Arakelian
спасибо за советы, буду пробовать.

если что-то нужно более детальней описать, пиши

Erik-Arakelian Автор вопроса
Сергей Дёмин
если что-то нужно более детальней описать, пиши

что то я не понимаю как мне передать то slug товара, в network не происходит запроса на детальный товар. На сриншоте я выделил эту область, правильно ли все?

Erik-Arakelian Автор вопроса
Сергей Дёмин
а что такое this.product.slug и откуда оно взялось...

это в прорсах... а взялось это от того, что я через компонент самый главный Menu передаю

Erik-Arakelian Автор вопроса
Erik-Arakelian Автор вопроса
Erik Arakelian
потом идет компонент qf-products

над названием компонентов стоит ещё поработать а как сама стора устроена, её покажите

Erik-Arakelian Автор вопроса
Erik Arakelian
screenshot list и get

зачем вы и там и там вызываете метод list ?

Erik-Arakelian Автор вопроса
Erik-Arakelian Автор вопроса
Сергей Дёмин
что есть, то есть)

вау 😍 Все работает. Полная уверенность того, что все сделанно правильно. Благодарю

Erik-Arakelian Автор вопроса
Erik Arakelian
screenshot

Ты в listProducts передаешь слаг, хотя функция принимает только domain. Слаг у тебя принимает функция getProduct

Похожие вопросы

Обсуждают сегодня

У меня это всегда вопрос вызывало.. Нафига писать код так, чтобы потом ошибки вылавливать?
Nik
44
всем привет. реально ли понять чем в процессе занята память? delphi/linux, процесс свой
Handatros
12
что за асемблер кста?
Shvabrikk Nya
19
Добрый день! Пробую отловить исключение EConvertError: function _TryTextToDouble(var DoubleVar: Extended; Text: String): Boolean; begin try DoubleVar := StrToFloat...
Kirill Filippenok
19
А где @Grinyaha уважаемый пропал?
Am Ambrion
14
This automated cryptocurrency trading system uses intelligent algorithms to buy low and sell high on leading crypto exchanges. Many users have already enjoyed significant prof...
Endu Wako
1
Сделал краткий обзор магазина из статьи и заодно там же записал инструкцию по развёртыванию. https://www.youtube.com/watch?v=8-sE1vNk95Q (чё думаете по звуку? кое-что поменял...
Andrey K
17
Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Привет, коллеги! Возникла задача ограничить максимальный размер вложений для определённых расширений, например, чтобы для изображений лимит был 10 МБ, а для видео — 100 МБ. Ог...
Andro
1
вот не понимаю, зачем вообще лезть в осдев, если даже базы не знаешь? хотя бы про загрузку, форматы файлов железо какое-никакое. Ну реально, даже зная работу железа, с условны...
Mixail Frolov
7
Карта сайта