Andrey
хм.. ковыряю валидацию полей. забиндил несколько полей через v-model, сделал вывод ошибки для каждого через computed, но есть еще кнопка которая типа disabled пока все не провалидировано. у нее v-bind:disabled стоит на еще один computed - вот вопрос, как сделать чтобы в нем не повторять каждый из уже написанных? Как к ним обращатьбся? Пробовал что-то типа this.computed.functionname - не воркает (
Andrey
юзай vuelidate/ vee-validate это проще
https://github.com/monterail/vuelidate - оно?
Andrey
дауж... самая легковесная либа говорили они.... а по факту еще десяток надо подключить чтобы нормально юзать)))
Stanislav
А так да, самая легковесная
Andrey
А так да, самая легковесная
потому что в ней нет ничего кроме view =)))
Stanislav
потому что в ней нет ничего кроме view =)))
Именно. В этом ее предназначение
Andrey
Andrey
делаю тут для своего сайта простенькую админочку, решил заюзать все для себя новые технологии, как то: vue, css grid & flex, koa2 и т.п. даже взял основной цвет 2018 года по версии пантона)))
Andrey
и фиг сним что в старых браузеров процентов на 90% работать не будет
Andrey
и даже в новых не все работает. Вот например выяснилось что в chrome баг в fieldset теге - он не работает как display: flex
Stanislav
Да, полгода точно как
Andrey
Да, полгода точно как
ну вот, а я больше получаса убил пытаясь сообразить что за фигня
Павел
Вы вообще спите?
Павел
Как ни зайду тут все одни и те же люди
Павел
Читаю историю и все они и говорят
Павел
Люди вы спите хотя бы?
Stanislav
Люди вы спите хотя бы?
Уже спал на этой неделе
Павел
Я спать, всем спокойной ночи. У меня 00:10
zinge 🐌
Я спать, всем спокойной ночи. У меня 00:10
Пока ты спишь, враг качается)))
Bushrut
пока ты спишь, индус пилит твой проект :)
Alex
там досадные опечатки https://github.com/vuejs/vue/commit/d02bb37efb3c4ee14b8cf9db22d1ab3340ba2c0f#diff-303d36f5f987e436f1f094bbda8d646fR529
Всмысле? Я уже не раз сталкивался что кто-то написал require: true а потом долго разбирался почему проверка на обязательность входного параметра не работает. А пулл реквест как раз варны кидать будет если отпечатался при определении входного параметра
Alex
Ну вот да, досадные мелочи которые сложно не увидеть) а дебажить подобное проблемно
yakimka
Я передаю в компонент данные как пропс, но пропсы не реактивны. Мне нужно чтобы когда в родители эти данные менялись, потомок видел эти изменения. Как это реализовать?
Alex
Пропсы реактивны, наверху что-то меняется, везде где используется передается новое значение. Внутри компонента пропс всегда с актуальным значением
yakimka
тоесть данные меняются, но view не обновляется
yakimka
https://forum.vuejs.org/t/vue2-props-are-not-reactive/2977
yakimka
у меня проблема как у этого парня
Alex
Ну и там рассказывают почему так)))
Alex
покажите ваш код
yakimka
Ну и там рассказывают почему так)))
мне нужно использовать watcher?
Alex
я не знаю что вы делаете что у вас нереактивно, использовать все подряд смысла мало
yakimka
покажите ваш код
Родитель data: { scenesData: scenes_data }, <el-hall :scenes-data="scenesData"></el-hall> Потомок <div class="scenes"> <el-scene v-for="scene in scenesData" :key="scene.id" v-model="selectedSeats[scene.id]" :scene-name="scene['name']" :scene-id="scene['id']" :seats="scene['seats_as_rows']"> </el-scene> </div>
Alex
Ошибки в консоли?)
Alex
Ошибок нет потому что их нет, или потому что минифицированный вью подключается где все варны удалены?
yakimka
вот 1 пропала
yakimka
yakimka
и html должен был перестроиться
Alex
а что не ругался что data не функция?
yakimka
this.scenesData["0"].seats_as_rows[1] = null; delete this.scenesData["0"].seats_as_rows[1];
Alex
изменение по индексу в массиве не отслеживается в js
yakimka
вот так удаляю
yakimka
изменение по индексу в массиве не отслеживается в js
не подскажите что мне делать в таком случае?
Alex
для этого нужно Vue.set использовать чтобы "подсказывать" вью что поменялся элемент по индексу
yakimka
может я вообще это в корне не так делаю?
Alex
Прочитайте в документации про работу со списками
Alex
там про это отдельно написано, на русском
Alex
и про массивы и про объекты
yakimka
Прочитайте в документации про работу со списками
понял, спасибо, теперь хоть знаю куда смотреть
{"fname": “Darwin”,
Привет. Кто может подсказать как вызывать методы в дочернем кмпоненте из родительского. Выходит так что родителем я слушаю компонент1 , а после события в нем должен вызвать метод в компоненте2. может у кого-то есть ссылочки на статью, проблему?
Alex
обычно не нужно так вызывать, что вы сделать хотите
{"fname": “Darwin”,
у меня есть два компонента, которые находятся в общем родительском. компонент1 создает объект и отправляет его на сервер и записывает в базу, компонент2 выводит список этих объектов делая запрос к серверу. дак вот я хочу чтобы компонент2 обновил свои данные после того как компонент1 записал их в базу
yakimka
и про массивы и про объекты
Отлично! Огромное спасибо!
{"fname": “Darwin”,
как это лучше сделать?
yakimka
я уже сталкивался с такой проблемой но тогда в vue не было Vue.delete - нужно изредка перечитывать документацию)
Alex
Сделайте шину между этими двумя компонентами. Один туда отправит сообщение что пора обновлять, второй будет отслеживать и дернет сам свой метод по событию
Alex
Можно вместо шины и $root использовать. За всё сообщество не скажу
Denys
Видел где-то статейку, где топили за эту тему, но лучше это чем шина или нет..
{"fname": “Darwin”,
Alex
одинаково, но если станет много всего в руте эмиттится то не оч удобно отслеживать станет
{"fname": “Darwin”,
вот так?
yakimka
или скажите как это в документации называется)
Alex
вот так?
Да, где-то создаете и потом этот bus импортируете в обоих компонентах
Denys
а шина как выглядит?
Bus, в разделе про события поищи
zinge 🐌
Можно вместо шины и $root использовать. За всё сообщество не скажу
Да это ад. Ладно 2 компонента. Но если они разрастаются и начинается $parent.$parent и прочая ересь это пздц