@vuejs_ru

Страница 3714 из 3900
Valeriy
27.09.2018
10:27:57
все что можно было там разрулить адаптивной версткой было адаптировано и так

Nathan
27.09.2018
10:28:00
я же в вуй чате ?

Kernel
27.09.2018
10:28:30
Нужно обратить внимание на структуру данных в целом, использовать связанные списки например
там сложное дерево, где разные варианты выбора показывают одинаковые вопросы. Причем есть ситуация когда: - При выборе Х - показывается вопрос А, и после него (в зависимости от выбора А) показывается либо B либо C - При выборе Y - показывается вопрос А, но после него должны идти поля D и F

Google
Valeriy
27.09.2018
10:28:48
которые сами по себе и так декларативны

и делать еще одну декларативную надстройку над ним как то странно

то что ты опишешь правила для каждого поля где то там снаружи, получится по сути тоже самое что ты опишешь их на языке шаблонов vue внутри template

Nathan
27.09.2018
10:29:53
все разруливаеться через state

Alexander
27.09.2018
10:31:16
Alex
27.09.2018
10:33:27
валидация разная бывает
это да, но нужно учесть - не понадобиться ли потом тащить всё это ещё куда-то

Valeriy
27.09.2018
10:33:35
1. валидация по сабмиту всех значений полей синхронно/асинхронно 2. валидация отдельных полей по блюру/асинхронно

на самом деле если форма действительно сложная, я бы воспользовался каким нибудь final-form

по крайней мере с валидациями проблем не будет уж точно

Vladimir
27.09.2018
10:34:23
Kernel
27.09.2018
10:34:25
я валидацию по блюру сделал пока что. у меня засада в том как показывать нужные поля без дублирования кода. чтобы они шли один за другим

Google
Valeriy
27.09.2018
10:34:59
ты сначала сделай так чтобы все работало просто

рефакторинг это следующая итерация уже

ну и само собой 3 это валидация на бакенде еще

это то что асинхронно по сабмиту собственно

Kernel
27.09.2018
10:36:40
чтобы оно работало - надо придумать как показывать поля в нужной последовательности :) В шаблоне у меня идут списком: <tag v-if=choosen(1)"> <tag v-if=choosen(2)"> <tag v-if=choosen(3)"> Проблема как показать 3й tag перед первым

Valeriy
27.09.2018
10:38:10
можно либо через flex порядок разрулить

либо через display: box, box-ordinal-group

Ѵɑsilii
27.09.2018
10:43:40


о инвалидно выглядит

Vlad
27.09.2018
10:44:49
<slot>

Ѵɑsilii
27.09.2018
10:45:29
блин, точно. Спасибо

Vladimir
27.09.2018
10:55:11
let data = [ { name: 'a' status: false, el: "element link" variants: [ { name: 'b' status: false, el: "element link", variants: [ { name: 'd', status: false, el: "element link", variants: [] }, { name: 'e', status: false, el: 'element link', variants: [ { name: 'c', status: false, el: 'element link', variants: [] } ] } ] }, { name: 'c' status: false, el: "element link", variants: [ { name: 'e', status: true, el: 'element link', variants: [] } ] } ] } ];

Kernel
27.09.2018
10:56:00
хм

Vladimir
27.09.2018
10:56:49
Можно прожодить при каждом изменении в форме рекурсивно по всему дереву и отрисовывать элементы, если выбрано какое то поле ( например а ) то его статус в true и рисовать варианты

и тд

Kernel
27.09.2018
10:57:08
ага, я в принципе понимаю идею

Illya
27.09.2018
10:57:27
для таких сценариев идеально использовать рендер-функции

Google
Vladimir
27.09.2018
10:57:51
Это причем расширяемо, если попросят например новые варианты ответов завести, просто меняешь этот конфиг и он автоматом все подхватывает

Valeriy
27.09.2018
11:10:59
поэтому сделали простой шаблонизатор

чтобы не описывать варианты структуры, не парсить ее потом и не рендерить

а сразу на языке шаблона всзять и описать

Vladimir
27.09.2018
11:13:23
vue придумали, чтобы не было смысла городить такие огороды, который ты выше описал
Ну покажи тогда как надо, приведи пример, чтобы соответсвовало решаемой задаче

Valeriy
27.09.2018
11:16:33
в зависимости от значения ключевого поля выводишь нужные блоки, ненужные прячешь

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

Vladimir
27.09.2018
11:19:06
в нужных блоках в зависимости от ключевого значения поля выставляешь порядок расположения полей через стили
А если нужно добавить новое поле? Или два или три? В стили полезешь все править?)

так vue template полностью покрывает требования задачи
Покажи пример, пока это просто слова

Valeriy
27.09.2018
11:19:36
полезу править туда, где выставлен порядок полей

Vladimir
27.09.2018
11:20:05
да, конечно
Ну удачи)

Valeriy
27.09.2018
11:20:09
но это будет очевидно зато

Valeriy
27.09.2018
11:20:40
а вот ты сделав мегаструктуру с объектом потом реально раком можешь встать с такой формой

ибо при смене условий, тебе придется и структуру поддерживать эту и тот парсер который ее рендерит

Google
Valeriy
27.09.2018
11:22:29
стили это как вариант простой перестановки элементов в flex-box

Valeriy
27.09.2018
11:22:35
че там вставать раком то?

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

а так ему придется ограничиться только знаниями vue/css

я таких гребаных велосипедов насмотрелся уже огого

Evheniy
27.09.2018
11:23:46
я могу юзать геттеры из стора в beforeRouteEnter?

Valeriy
27.09.2018
11:23:58
с метапрограммированием и всякими велосипедными структурами

Evheniy
27.09.2018
11:24:13
если да, то как их туда прокинуть, потому как бьет undefinde

Admin
ERROR: S client not available

Леха
27.09.2018
11:24:26
если да, то как их туда прокинуть, потому как бьет undefinde
импортируешь свой стор и юзаешь store.getters.someGetter Доступа к this у тебя нет, если только внутри next

Evheniy
27.09.2018
11:25:24
окей, thx

Vladimir
27.09.2018
11:32:58
а так ему придется ограничиться только знаниями vue/css
Ага и сломать глаза от условий в шаблоне и разобрать твой css всеми order или nth-child() ))

Valeriy
27.09.2018
11:33:47
Ага и сломать глаза от условий в шаблоне и разобрать твой css всеми order или nth-child() ))
ну css это как один из вариантов, при нормальной организации кода и именований ничего не сломаешь

Alex
27.09.2018
11:50:25
ну css это как один из вариантов, при нормальной организации кода и именований ничего не сломаешь
По мне вариант с реализацией порядка и правил отображения в шаблоне будет норм, если структура оч редко меняется и полей довольно мало. Описать конфигом, в котором будут условия и порядок отображения 50ти полей намного проще, разобравшись только как работают эти правила и от чего зависит сортировка. При этом изменения нужно будет сделать только в этом конфиге и всё.

Valeriy
27.09.2018
11:54:49
эх... речь же о том, что есть уже стандартный придуманный шаблонизатор а тут вдруг приходится изобретать надстройку над ним, чтобы решить задачи, который он прекрасно и так позволяет решать

Google
Alex
27.09.2018
11:58:23
поддерживать компонент, в котором будет 70 зависимых полей, из которых реальных 50 - это жесть же?

Valeriy
27.09.2018
11:58:31
завтра придет чудик на проект и захочет этот объект отдавать с сервера

послезавтра придет другой чел и будет долго искать откуда что берется

так рождаются говнопроекты

Alex
27.09.2018
12:00:57
мне кажется конфиг вполне читаемый даже без особых знаний об остальных частях - а если кто-то приходит и делает хуже, то его палкой нужно бить прост

Valeriy
27.09.2018
12:01:33
я о том, что сам путь в никуда

глядя в vue шаблон каким бы он не казался большим или небольшим, его всего можно оптимизировать в конце концов

понять что пошло не так и легко поправить

Vladimir
27.09.2018
12:02:19
это пока условия не усложнились
Ты понимаешь что в конфиге описывается все зависимости, просто в одном месте или нет?)

Valeriy
27.09.2018
12:02:40
а когда ты устраиваешь вот такие пляски с бубнами, они в итоге приводят к проблемам

Alex
27.09.2018
12:02:42
это пока условия не усложнились
если описать всю логику в шаблоне, а затем усложнить условия - то можно и кровь из глаз заполучить)

Alex
27.09.2018
12:03:29
глядя в vue шаблон каким бы он не казался большим или небольшим, его всего можно оптимизировать в конце концов
если ты открываешь файл на 800 строк - то ты будешь неделю пытаться понять что там вообще происходит)

и скорее всего что-то проглядишь

Valeriy
27.09.2018
12:03:46
шаблон vue как раз для этого и разработан, чтобы логику презентации данных описать простым языком

вот реальный пример из жизни

тоже в проекте так чувак сделал сначала такой же объектик

Страница 3714 из 3900