🐏 Alexander
с ним сложнее работать, больше кода
Женя
Ну да согласен
Michael
реакт сложнее для новичка чем вью
судя по всему что я понял, реакт сложнее только тогда когда ты не используешь билдтулы, т.к. в реакте нет этой опции, следовательно в серьёзном проекте по простоте входния они явно схожи. НО. Но вью значительно продуктивнее
Michael
и в поддержке в сто раз лучше
Michael
если не силно говнокодить стараться
Michael
при прочих равных, скажем
🐏 Alexander
ну да да, согласен
CherryTea
Женя
а Nuxt норм тема ребят?
Sergey
Ребята, объясните начинающему :) Делаю простые CRUD на Vue для сущности Order. Вот захожу я на страницу, где вижу все Order. При этом у меня идет запрос на сервер через Axios, которые забирает все заказы. Дальше жму, допустим, Edit. У меня должна открыться страница редактирования Order. При этом я должен опять запросить Order по ID с сервера. Но это не верно. Как организовать все, чтобы просто подтянуть Order из тех, что я уже запросил ранее?
Sergey
В Vuex хранить все order ведь не вариант? Вдруг пользователь туда никогда не посмотрит даже, а это лишний запрос
Arthur 🙏
либо через router params
Sergey
Или закидывать в Vuex только тогда когда пользователь идет в компонент index для order?
Sergey
ну то есть хочется сделать с минимальным количеством запросов к серверу
Sergey
То есть захожу я допустим на index компонент и смотрю все заказы (первые 50, например) и при первом входе делаю коммит в Vuex (с запросом на сервер). А как с пагинацией, например? Когда перехожу на следующую страницу, опять вызываю мутацию, которая добавит новые Order в Vuex?
Sunlive
Привет всем кстати)
здарова, есть чо по переходам?
Женя
здарова, есть чо по переходам?
есть плавные, есть с отдельными анимациями, чо интересует?
Sergey
Как-то много всего как для простого CRUD. А что если мне надо перейти на Update того order, которого еще нет в Vuex? Запрашивать опять и добавлять?
Sergey
Может есть какие-то готовые решения для этого?
Женя
Konstantine
Выкачать файл
Хм..попробую, если что отпишусь
Женя
что бы огонь из монитора
может ты мне подскажешь как с модалкой быть?
Женя
в вью
Женя
ну к примеру у меня компонент страницы
Женя
и на ней несколько кнопок по которым открываются модалки разные
Женя
не хочу дублировать <modal>здесь слоты</modal>
Александр
что бы например как в реакте добавил модал на главный компонент и взаисимости от пропсов он выбирает компонент который отобразить в теле модалки
мы делаем что-то подобное: в компоненте модалки, в ее шаблоне делаем что-то типа <div class="modal"> <component is="usedComponent"></component> </div> в пропсах прописываем usedComponent а при вызове внужном месте <modal used-component="table"></modal> <modal used-component="product"></modal>
Sunlive
не хочу дублировать <modal>здесь слоты</modal>
это стандартный подход, модалка общая, слоты разные, в чем проблема?
Женя
Ну будет ведь много кода если модалок к примеру 7
Danila
ну к примеру у меня компонент страницы
Я использую компонент модалки, которая подписывается на событие открытия модалки, а в событии - контент. По событию открывается. Другие компоненты или даже внешний код может просто диспатчить это событие, модалка его увидит и откроется. Но это я в ванилле так делаю.
Женя
спасибо
Александр
ну и вообще про слоты да, это более стандартный вариант. описанный выше способ - нужен имено для замены выводимого куска - например, по какому-то условию мы хотим отрендерить из одних данных выпадашку, а в других калапсик.
Женя
а лучше писать по стандарту ?
Александр
но такое делать надо осторожно, ибо если ты в тех самых модалках выводишь принципиально разный контент (таблица с выгрузками в маркет, а в другом месте - карточка товара), то ты будешь вынужден неявно поддерживать передачу данных в эти компоненты через модалку. каков шанс что у тебя что-то сломается после изменеиея какого-то компонента?
At
здравствуйте! Сам новичек в vue js, есть пару вопросов, надеюсь мне здесь ответят)) как передать с одного компонента значение в другой компонет в value input?
CherryTea
но такое делать надо осторожно, ибо если ты в тех самых модалках выводишь принципиально разный контент (таблица с выгрузками в маркет, а в другом месте - карточка товара), то ты будешь вынужден неявно поддерживать передачу данных в эти компоненты через модалку. каков шанс что у тебя что-то сломается после изменеиея какого-то компонента?
кстати а что насчет скоупа модалки. Если мы забрасываем компонент через слот то мы вынуждены писать логику модалки в логике компонента который ее открывает. А в случае если мы забрасываем компонент, то логика переносится в модалку
CherryTea
имхо второй вариант приятнее
Stanislav
Ох, шас бы компоненты через пропсы передавать :)
Александр
плюс есть вопрос очивидности подхода. <modal used-component="table" source-data="wtf" /> <modal> <table source-data="wtf" /> </modal> второй вариант предпочтительней, потому что у тебя эти штуки используются явно. и ты явно указываешь каждому компоненту, что ты от него хочешь. и возможности каждого компонента где-то описаны. т.е. ты хочешь что-то обавить - лезешь в его описание, читаешь, и точечно меняешь. при первом варианте - тебе надо будет еще вобразить, что из этой кучи навешанных пропсов относится к модал, а что - к дочернему компоненту. а теперь представь, что у модалки и у таблицы есть какой-то пропс типа "on-submit". в первом случае тебе нао в модалке как-то протелепатить, к кому этот конкретный пропс относится и что вообще дальше делать
Stanislav
То есть захожу я допустим на index компонент и смотрю все заказы (первые 50, например) и при первом входе делаю коммит в Vuex (с запросом на сервер). А как с пагинацией, например? Когда перехожу на следующую страницу, опять вызываю мутацию, которая добавит новые Order в Vuex?
Пагинацию можно по разному организовать. Можно получить все заказы, а показывать только определенный срез из всего массива (делается через computed) Можно грузить с сервера каждый раз, при переходе по страницам пагинации
Александр
кстати а что насчет скоупа модалки. Если мы забрасываем компонент через слот то мы вынуждены писать логику модалки в логике компонента который ее открывает. А в случае если мы забрасываем компонент, то логика переносится в модалку
нет. у нас есть тупые скелетон компоненты, которые умеют тупо открыться закрыться по командам снаружи и имеют функциональню верстку. и тонну слотов для содержимого и переключателей
Sergey
Пагинацию можно по разному организовать. Можно получить все заказы, а показывать только определенный срез из всего массива (делается через computed) Можно грузить с сервера каждый раз, при переходе по страницам пагинации
Это понял. Но как будет наиболее оптимально? Зависит видимо от количества этих заказов... Если их там не более 3000, думаю, то можно и все сразу. А если больше, то постепенно..
Sergey
Ну да :)
А что-то готовое под такие нужды есть во Vue?
Женя
Ну все таки как же лучше, писать стандартом через слоты? или придуманными способами?
Александр
лучше через слоты
Stanislav
А что-то готовое под такие нужды есть во Vue?
"во Вью" ничего нету, т.к. это фрейморк для написания таких штук. Можешь поискать готовые компоненты в сети, можешь делать.
Женя
лучше через слоты
спасибо, это сообщение облегчило мою жизнь
Александр
это +100 к очевидности и +100 к уважухе и почтению от тебя через полгода себе сегодня )
Stanislav
Те же веб компоненты работают аналогично
Женя
Ну вроде как уже нарисовываетс картина реализации приложения на вью
Женя
спасибо всем
Женя
Женя
))))))))
Stanislav
😄
Иван
Признал наконец-то
Sergey
Sergey
Иван
Женя
А это, вы темплейт js, css в одном файле держите?
Женя
или разбиваете?
Иван
Лучше в одном, разбивать по необходимости
Stanislav
или разбиваете?
Разбиваем. HTML в .vue, остальное отдельно
Иван
Меня наоборот бесит когда по папке на компонент, так что в одном держу
Женя
нормально ли то, что у меня <template></template> <script></script> в одном файле а css у меня вообще в другой папке в которой файлы .scss описывающие элементы по id
Женя
?
Иван
Эээ
Иван
Странно немного
Stanislav
Меня бесит, что у меня из коробки не работают eslint и prettyer А в отдельных js все всегда ок