ℝei
А сразу сказать про препроцессоры ты не мог?)
ℝei
Да, они заводятся из коробки если установить нужный лоадер. в случае с sass — sass loader && node-sass
Anton
но всё равно ведь интересно, если мне понадобится дополнительная конфигурация - куда её писать?)
Anton
дока мутная какая-то
Anton
вроде всё прочитал, на русском и английском
Anton
ну ладно, версия вроде 3 бета, так что простительно
ℝei
ℝei
но я сам хз. и дока для кли еще официально не вышла вроде
ℝei
https://github.com/vuejs/vue-cli/blob/dev/docs/README.md
ℝei
вот тут она
Anton
во, шикос, там всё есть
Anton
"key" is a reserved attribute and cannot be used as component prop.
Anton
пытался из одного элемента сэмитить событие delete, чтобы снаружи его поймать и удалить элемент из массива
Anton
нет ли способа попроще, чем передавать в элемент id, а там его эмитить обратно?
Anton
вьюха снаружи не может знать, из какого компонента вызвано событие?
Vadim
@какоетособытие="delete(key)" не сработает?
Anton
<TodoItem v-for="item in items" :key="item.id" :item="item" @deleteItem="deleteItem(key)"/>
Anton
не работает
Anton
<TodoItem v-for="item in items" :key="item.id" :item="item" @deleteItem="deleteItem(item.id)"/>
тоже
Vadim
А что в аргументах?
Anton
хотя там надо попробовать функцию иначе написать
Anton
ща
Anton
в TodoItem у меня
<span class="close" @click.stop="deleteItem">×</span>
methods: {
deleteItem() {
this.$emit("deleteItem")
}
}
Anton
я могу сюда отдельно id передать, а затем его эммитить, но это как-то стрёмно
Anton
вот и думаю, нет ли возможности изначально снаружи его в обработчик передать
Vadim
Что приходит в deleteItem?
Anton
в deleteItem, который снаружи, в todolist, ничего не приходит
Vadim
Ты что-то делаешь не то
Anton
ну вот смотри, сейчас делаю так
<TodoItem v-for="item in items" :key="item.id" :id="item.id" :item="item" @deleteItem="deleteItem"/>
в нём в props прописываю id, но this.id всегда undefined
Vadim
Ну вот смотри https://codesandbox.io/s/qx8v5zpnm9
Vadim
какой еще this.id???
Anton
<TodoItem v-for="item in items" :key="item.id" :id="item.id" :item="item" @deleteItem="deleteItem"/>
Vadim
Anton
давай заново, сорян
у меня есть TodoList
<template>
<div class="box" id="todo-box">
<NewTodo @addNew="addNew"></NewTodo>
<TodoItem v-for="item in items" :key="item.id" :id="item.id" :item="item" @deleteItem="deleteItem"/>
</div>
</template>
Anton
в TodoItem я по клику на крестик делаю this.$emit("deleteItem")
Vadim
В 3 часа ночи не спишь, создаешь польностью рабочий код в codesandbox, а тут даже в чтение кода не могут
Vadim
это пиздец
Anton
я видел твой код, спасибо, но мне надо удалять элемент из списка по id, а я не могу его узнать
Vadim
Что не так в моем коде?
Anton
ща ещё раз перечитаю
Vadim
Почему он не подходит для тебя?
Anton
3 часа нчои всё-таки, устал
Vadim
items: [{ id: 1, name: "foo" }, { id: 2, name: "bar" }]
Vadim
Жми на foo
Vadim
и ты увидишь id 1
Vadim
Перегрузи codesandbox, я изменил сообщение алерта
Vadim
чтоб совсем очевидно было
Anton
да я понял, у меня это не работает, я выше пытался уже
Anton
<TodoItem v-for="item in items" :key="item.id" :id="item.id" :item="item" @deleteItem="deleteItem(item.id)"/>
Anton
у меня там undefined
Anton
так, вижу разницу
Anton
у меня в исходных данных нет id
Anton
надо в v-for как-то index брать
Anton
ща поищу
Anton
всё, понял
v-for="(item, index) in items"
Vadim
https://codesandbox.io/s/qx8v5zpnm9
Anton
спасибо, доброй ночи)
Anton
ну там ведь есть свой index, можно просто сплайсить
Vadim
можно, это рефакторинг от кода, где удалялось по item.id
Anton
а, ну тогда да
Vadim
но спасибо большое за совет
Anton
обнаружилась какая-то проблема со splice, индекс передаётся правильный, если делаю клон массива и делаю сплайс на нём - всё удаляется нормльно, но сплайс оригинала удаляет всегда последний элемент, сталкивался кто?
Anton
возможно, это какая-то особенность vue
Anton
кажется, дело в key
Anton
и скорее всего всё заработает, если добавить в объект id
Alex
Anton
В чём мутность?
ну дока к vue-loader не говорит, куда писать опции, об этом можно узнать только тут
https://github.com/vuejs/vue-cli/blob/dev/docs/README.md
Иван
Хехе
Иван
Доки это дело сложное
Alex
Ну дока если отдельно куда-то лоадер ставить. Кли — это же про другое
Иван
В идеале их должно быть раза в три больше кода
Alex
В общем непонятно как можно сделать её лучше)
Anton
насколько я понял, в 3 версии всё поменялось, о 2 ничего не знаю, не видел её)
Alex
Да, наверное там ссылка на доку кли нужна
Alex
Третья версия в бете
1337
this.formData[name] = value?
Иван
Ээээ
1337
ну в immutable редакса есть смысл
1337
только тут он не причем