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

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

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

36 ответов

21 просмотр

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

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

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта