Rafael 🌵
Можно поподробней?
https://github.com/vuejs/vue/blob/c24f3e4208cd045832002ee9916559f6fe0dc2b5/src/core/instance/events.js#L59 но оно тебе не подходит
Иван
Ну ок, будем по старинке флаги пихать
Stanislav
В функциональных вроде просто ctx.listeners
Andrey
эльфийский какой-то, не могу прочитать
Я %username% выражаю решение чистосердечного признания в любви к jQuery. По ночам я включаю служебный компьютер и жадно усиливаюсь изяществом этой библиотеки. Прошу записать меня в дивизион добровольцев армии jQuery
Иван
О, хм
Иван
То бишь можно так делать? Интересно
Иван
А если просто @click сделать, без всякого кода, тоже работать будет?
Иван
> жадно упиваюсь
Иван
Ну не передавать никакого кода в v-on
Иван
<my-comp @click />
Stanislav
ну в this.$listeners у тебя будет { click: function() {} }
Stanislav
внутри <my-comp />
Иван
Норм, мне нравится. Можно в принципе использовать типа <button v-if="'close' in $listeners" @click="$emit('close')">Close it!</button>
Иван
Главное что б реактивно листенеры работали
Максим
эльфийский какой-то, не могу прочитать
у меня одноклассник был, который не мог прочитать, что сам написал) Так что это еще норма)
Stanislav
Главное что б реактивно листенеры работали
А как ты навесишь новый ивент?
Stanislav
В рантайме
Иван
Ну вот да, тоже подумал что действительно вряд ли получится
Иван
Но даже так юзкейсы определенно есть
Stanislav
* живой пример на изначальный вопрос https://jsfiddle.net/wLvh56at/10/
Иван
Ну я ж приводил пример. Если в модалке можно выводить две кнопки, а можно одну, ты можешь явно передавать пропсами типа canCancel, @cancel, а можешь чисто один @cancel, если такой подход использовать
Иван
Под "даже так" я имел в виду что даже с учетом невозможности навешивать ивенты динамически
Stanislav
Ну я ж приводил пример. Если в модалке можно выводить две кнопки, а можно одну, ты можешь явно передавать пропсами типа canCancel, @cancel, а можешь чисто один @cancel, если такой подход использовать
Если тебе надо две кнопки - делаешь @accept и @cancel. Но это же в шаблоне все пишется. Собственно, мой вопрос был про "пример в райнтайме - какой кейс"
Иван
Крч, ты меня не так понял)
Stanislav
мб))
Иван
Да, если потребуется прям в одной модалке из родителя по какому-то условию убирать кнопку динамически, то через ивенты не получится сделать
Stanislav
А, убрать кнопку динамически
Иван
Но даже так у такого подхода есть в принципе юзкейсы
Stanislav
Да, в этом есть смыл
Stanislav
Правда, например, задизейблить кнопку таким способ сложно)) Если валидация какая-нить
Иван
https://jsfiddle.net/wLvh56at/15/ вот так вот можно. Вроде даже выглядит читабельно и понятно
Иван
Почему? :disabled="invalide" и все
Иван
Можно даже кастомную директиву запилить для такого
Stanislav
Почему? :disabled="invalide" и все
Ну это уже пропсы) Тогда и в целом можно пропсы на отображение прокидывать. Хотя...
Иван
v-emit-if.close="click"
Иван
Раскроется в v-if="$listeners.close" @click="$emit('close')
Stanislav
v-emit-if.close="click"
Ну такое)) Уже костыль какой-то
Иван
Просто название надо правильное)
Vladimir
v-emit-if.close="click"
эээ.. такое по умолчанию во вью работает?
Иван
Нет, но можно сделать и несложно
Карамультук
Господа, здесь пару недель назад была дискуссия насчет vuex и прочих вопросов связанных с менеджментом стейта. Участвующие в ней высказывались в пользу того, что постепенно выпиливают vuex из своих проектов (насколько я помню). А в чем причина? Чем не устраивает vuex?
Иван
Хто там так высказывался?
Иван
Я помнится наоборот за него топил
Stanislav
ох, надо работать)
Andrew
тулят
Иван
v-emit.close="click" превращается в @click="$emit('close')"
Иван
v-emit.if.close добавляет v-if="$listeners.close"
Иван
Ну или v-if-listen="close", так уж совсем по феншую будет
T.A
v-emit.close="click" превращается в @click="$emit('close')"
можно и так объявлять событие? а то this.emit не то как-то
Иван
Нет, надо сначала директиву создать
Иван
Нннада?
Armen
Довай
Иван
Ну ждите. Долго ждите)
Сергей
может кто знает скрипт, который сжатую строку json выводил бы в textarea нормально?
Stanislav
Иван
Ну вот тебе нинада а кому-то ннада)
Erzed
Можно ли в как-то определять без костылей первый и последний элемент в цикле v-for? <li v-for='item in items'> <Component :item='item'> </li>
Иван
Под костылями ты индекс понимаешь?
Alexander
ахах
Иван
Если чисто стилевое надо, можно first-child, last-child цссовские использовать
Erzed
Под костылями ты индекс понимаешь?
да, только через index==items.length онли?
Иван
Нет
Иван
-1 забыл)
Erzed
Иван
Тебе что с ними делать надо?
Иван
Можешь чисто на стилях отъехать
Erzed
Тебе что с ними делать надо?
кстати, возможно получится на стилях
Elena
Ребята, всем привет!
Elena
Нужна ваша помощь - мне срочно требуется специалист по vue.js
Elena
Все подробности в личку
Sunlive
не, не вариант
Sunlive
во вью чате найти по вью кого-то
Алексей
сложный таск
Elena
Ну-ну, очень смешно )