
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

Stanislav
17.04.2018
20:40:26

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
Или пусть бэк сам тебе айдишники выдаст

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.. и заменять массив при удалении каждого итема

Stanislav
17.04.2018
20:45:55

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

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

Stanislav
17.04.2018
20:49:37
почему просто не написать имя компонента
<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-шаблона."

Stanislav
17.04.2018
20:57:07

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

Roman
17.04.2018
21:28:28

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 наружу

Stanislav
17.04.2018
21:55:07

Anton
17.04.2018
21:56:45

Oleg
17.04.2018
21:57:11

Andy
17.04.2018
21:58:49
вот что значит документацию по диагонали читать

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