@vuejs_ru

Страница 2648 из 3900
Anton
17.04.2018
20:36:26
там даже вроде отдельный абзац об этом есть

Stanislav
17.04.2018
20:36:52
Andy
17.04.2018
20:36:56
ну вот уже все прочитал

https://ru.vuejs.org/v2/guide/list.html

Google
Anton
17.04.2018
20:37:28
короче, у тебя key не должен совпадать с индексом, если удаляешь по индексу

я вот так сделал <TodoItem v-for="(item, index) in list" :key="item.id" :item="item" :index="index" @deleteItem="items.splice(index, 1)" @changeState="changeState"/>

Stanislav
17.04.2018
20:38:50
Anton
17.04.2018
20:39:03
ну да

Andy
17.04.2018
20:39:14
v-bind:key="index+'_'+res.title" тоже не решило проблему(

Anton
17.04.2018
20:39:20
я целую ночь с этим бился, пока не разобрался))

Stanislav
17.04.2018
20:39:39
Anton
17.04.2018
20:39:53
я у себя сделал дополнительно id в каждом элементе

Andy
17.04.2018
20:40:04
просто :key="res.title" не помогло?
когда добавляется новый item, он идет с title: '', vue ошибку дубля выдает

Google
Stanislav
17.04.2018
20:41:33
и новые элементы с новыми id'шниками создавай

Andy
17.04.2018
20:41:38
ребята, без id никак?

Stanislav
17.04.2018
20:41:54
а в чем проблема?

Andy
17.04.2018
20:42:15
блин нахрен я 3 часа провозился впустую

Stanislav
17.04.2018
20:42:33
откуда у тебя responsibilities появляется?

Andy
17.04.2018
20:43:00
из бд, для каждой вакансии список

Stanislav
17.04.2018
20:43:23
из бд, для каждой вакансии список
ну блин, тем более. Наверняка же в бд есть idшники

Или пусть бэк сам тебе айдишники выдаст

Andy
17.04.2018
20:43:47
не, конкретно эти responsibilities идут в json ячейке

Stanislav
17.04.2018
20:44:00
Или ты их сам сгенерируй рандомно, когда получаешь данные ajaxом

вариантов куча

Anton
17.04.2018
20:44:32
в базе ж наверняка есть ключ

Stanislav
17.04.2018
20:44:37
++

Andy
17.04.2018
20:44:42
а всего списка 3. это значит, что нужно создавать для каждого из трех списков ListANextID ListBNextID ListCNextID (образно), высчитывать length каждый раз по запросу

поэтому варик без id был бы идеален. может тупо reduce.. и заменять массив при удалении каждого итема

Anton
17.04.2018
20:46:39
а если ты будешь делать с этим элементом какие-то действия, удалять, редактировать, ты как будешь бэку об этом сообщать? без ид?

Stanislav
17.04.2018
20:47:17
Vue умный, каждый раз при изменении списка, он пытается уменьшить перерисовку. Тебе нужно сказать, что все элементы самостоятельные и их нужно рендерить отдельно

Google
Andy
17.04.2018
20:47:23
все, понял) дальнейшее масштабирование даже в голову не пришло (draggable сортировка, например)

Stanislav
17.04.2018
20:48:06
К тому же, у тебя там список компонентов. Vue уже должен был начать орать, что список компонентов без key Кстати, зачем тебе тут is="" ?

Andy
17.04.2018
20:48:23
li

Stanislav
17.04.2018
20:48:32
li
мм, ни понял?

Andy
17.04.2018
20:49:05
в div нельзя по всем канонам

а vue обернет

Stanislav
17.04.2018
20:49:37
в div нельзя по всем канонам
Так ты же в корне компонента почему просто не написать имя компонента add-item лишки написал

почему просто не написать имя компонента <add-item v-for="(res, index) in responsibilities" :key="res.index" :title="res.title" :index="index" v-on:remove="removeItem('responsibilities',index)" ></add-item>

ты ж его зарегал через поле components в родительском элементе

Andy
17.04.2018
20:52:05
тк в dom будет <ul><div><li></li></div>и тд</ul>

Stanislav
17.04.2018
20:52:21
vue сам ничего не оборачивает

Andy
17.04.2018
20:54:55
блин

реально

а почему тогда в документации "Обратите внимание на атрибут is="todo-item". Это необходимо в DOM-шаблонах, потому что только элементы <li> разрешены внутри <ul>. Результат будет таким же, как использование <todo-item>, но позволяет обойти ошибки парсинга браузером. Чтобы узнать больше, изучите особенности парсинга DOM-шаблона."

Andy
17.04.2018
21:06:05
блин, в props index лучше не кидать, сейчас все гуд вроде удаляется

теперь другая проблема, как говорится, из огня да в полымя ? https://paste.ofcode.org/SDkRqsKLvgrb63DHG38qjm в шаблоне подкомпонента :value="titleFlow" computed свойство 1) тк vue ругался на одинаковые props 2) тк computed с v-model не сработал. что мне делать(

Anton
17.04.2018
21:19:53
а в чём проблема?

Andy
17.04.2018
21:20:19
при просмотре списка console.log(JSON.stringify(this.responsibilities)); в новых элементах списка отображается только id, а title пустой [{"id":1,"title":"title 1"},{"id":2,"title":"title 2"},{"id":3,"title":"title 3"},{"id":4,"title":""}]

Google
Andy
17.04.2018
21:21:51
т.е., так понимаю, что из-за того, что шаблоне подкомпонента не v-model="title", а :value (но по-другому с computed не работает почему-то)

пробовал v-bind:title.sync="res.title" хз

Anton
17.04.2018
21:23:15
делай рабочие примеры на codesandbox

у тебя же this[items].push({ id: this.nextResId++, title: '' })

почему title должен быть не пустой?

Andy
17.04.2018
21:25:46
там каждый элемент списка textarea

Anton
17.04.2018
21:26:50
ты пушишь пустой title

он и будет пустой

ну или я тебя не так понял

Admin
ERROR: S client not available

Denis
17.04.2018
21:27:32
Пацаны кто знает где можно залить сайт на бесплатный хостинг для теста?

Anton
17.04.2018
21:28:17
https://beget.com/ru/free-hosting

Denis
17.04.2018
21:28:53
нужен что бы jquery

Roman
17.04.2018
21:29:08
лол

это ваще не связано с хостингом

Anton
17.04.2018
21:29:48
это статика, так что всё ещё подходит github pages

Andy
17.04.2018
21:29:53
ну или я тебя не так понял
т.е. нужно в подкомпоненте ставить watcher и ловить изменение input'a и сделать в основном компоненте дополнительный метод с push по id элемента?

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

Anton
17.04.2018
21:32:48
зачем ты каждый раз туда-сюда пробрасываешь весь массив? он же у тебя есть в this.responsibilities

Google
Andy
17.04.2018
21:34:08
каждый элемент списка textarea, вводимые данные в список не попадают

Anton
17.04.2018
21:36:29
у тебя что-то похожее

Andy
17.04.2018
21:37:11
нет

https://codesandbox.io/s/xvj2plz7nq

Anton
17.04.2018
21:38:11
о, рабочий пример

так, теперь давай ещё раз, в чём проблема))

Andy
17.04.2018
21:39:24
при добавлении нового элемента "Add" и написании любого текста в textarea этого элемента, данные не сохраняются в this.responsibilities

Oleg
17.04.2018
21:40:30
У меня вопрос насчет scoped стилей в .vue компонентах Как в них пользоваться глобальными scss переменными (из общего scss когда, который просто инклудится в main.js) или например использовать наследование от чего-то, что вне компонента Или сам подход полностью отвергает это? Если да, то это ж ппц как неудобно.

Andy
17.04.2018
21:44:41
Anton
17.04.2018
21:45:02
ща, я в старой версии ковыряюсь)

ну вообще у тебя one-way data flow

тебе надо пробрасывать изменения наружу

Andy
17.04.2018
21:47:19
т.к. не v-model?

Anton
17.04.2018
21:47:51
https://vuejs.org/v2/guide/components-props.html#One-Way-Data-Flow

если ты редактируешь текстарею - нужно делать emit наружу

Anton
17.04.2018
21:56:45
т.к. не v-model?
https://codesandbox.io/s/k524jjrm7o

Oleg
17.04.2018
21:57:11
Пацаны кто знает где можно залить сайт на бесплатный хостинг для теста?
http://www.bitballoon.com/ если что-то простое вот еще есть вполне себе работает просто перетаскиваешь файлики и усё

Andy
17.04.2018
21:58:49
https://codesandbox.io/s/k524jjrm7o
!!!!!!!!!!!! спасибо большое)

вот что значит документацию по диагонали читать

Anton
17.04.2018
21:59:13
главное, сам разберись, почему так происходит

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