🐏 Alexander
this.$emit('some')
Andrey
а зачем им возвращать?
Andrey
они могут передать инфу
Andrey
this.$emit('some', someresult)
Michael
Мне очень помогла такая фича. И интересно было узнать где предлагают её юзать
лучше не надо. Это некоторая замена эвентов наподобие того как это делают в реакте как раз.
Michael
просто в последнем нет таких эвентов, а принято все подряд херачить в пропсы.
Andrey
так а реально какие юзкейсы этого бывают?
Serge
лучше не надо. Это некоторая замена эвентов наподобие того как это делают в реакте как раз.
Я хз, как в реакте, но я таким способом меняю внутреннее поведение компонента без написания нового
Michael
это типа паттерна стратегия? :D
Michael
а что, если пропсом переключать, а определять в самом компоненте?)
Michael
Это сильно переиспользуемый компонент
примерчик дай. стопудово можно более классически сделать. интересно.
🐏 Alexander
не надо, не давай ему ничего
🐏 Alexander
он злой и противный
Michael
у меня нет лого ангуляра в никнейме.
Michael
я ня
Serge
примерчик дай. стопудово можно более классически сделать. интересно.
Компонент - таблица. На входе у неё "название метода" по которому она сама фетчит данные с бэка. Сделано так потому - чтобы в шаблоне можно было одной строкой написать хочу таблицу вооот с такими данными
Sunlive
пацаны, есть че по интерактивным чартам? и что лучше свг искать или канвас норм?
Sunlive
chartjs вроде как не интерактивен
Sunlive
или я его не так готовлю
Michael
ааа, тебе ток графики?
Sunlive
тоже кейс опиши. пря точно посоветую тогда.
просто нужен чарт по типу бар, если понимаешь
Sunlive
ага
Sunlive
ток что бы интерактивный
Sunlive
можно было события подвязать
Michael
тогда чартжс. скорее всего не так готовишь. еще д3, но он ппц
Sunlive
не д3 точно не
Sunlive
я еще слишком молод что бы умирать
Michael
можно перерисовывать по мере изменегия прост
Serge
Компонент - таблица. На входе у неё "название метода" по которому она сама фетчит данные с бэка. Сделано так потому - чтобы в шаблоне можно было одной строкой написать хочу таблицу вооот с такими данными
над каждой строкой нужно производить произвольные действия. (ну типа недействующую запись подсветить серым. ) это и разруливается через прософункции
Sunlive
я пытался подвязать клик, но надо что бы типа КЛИКАЛОСЬ НА сам график и там происходила магия
Олтика
подскажите, плз можно на одном инпуте повесить 2 директивы v-model ? мне нужно и v-model="text" v-model="number" как это можно сделать?
Michael
я пытался подвязать клик, но надо что бы типа КЛИКАЛОСЬ НА сам график и там происходила магия
не -- не помню тут(( у них, врлде, примеров тьма. можно поискаиь там
Sunlive
я сейчас саму обертку юзаю для вью под чарт
Sunlive
он там через рендер функцию в маунтеде рисует график
Sunlive
и есть реактивные миксины которые перерисовывают
Serge
чую, не полностью вдуплил, но почему бы не передать данные в проп ей?
тогда будет кусок кода где нужно будет эти данные получить с бэка. А если эта таблица юзается 100500 раз, то и вызов кода нужно будет писать 100500 раз. + таблица иерархическая и с бэкпагинацией может быть, которая "по клику" запрашивает новую порцию данных - а это уже пропсы + emit в 100500 местах
Sunlive
но пока не удалось добиться отзывчивости от самих графиков, что бы при клике на конкретный я понимал куда кликается
Sunlive
и соотв делал запросы на апи
Andrey
я сейчас саму обертку юзаю для вью под чарт
Проще д3 взять. Намного более гибкий вариант
Serge
так де точно ты 100500 раз напишешь функцию, которая сие фечит)
фетчит сама компонент-таблица. написано в одном месте. работает везде где я просто напишу <my-table apiobject="SomeOrders" ..../>
Michael
тогда передаешь не фунцию, а строку. совсем другая тема)
Sunlive
http://gionkunz.github.io/chartist-js/index.html
Serge
тогда передаешь не фунцию, а строку. совсем другая тема)
это чтобы данные получить, а чтоб обработать строку не по дефолту пишу так: <my-table apiobject="SomeOrders" :myrowColorHandler="someHandler"> и в someHandler(item) { return 'red' } item - это объект - строка таблицы, которую сам компонент таблица и получает с бэка, а читать и модифицировать я её могу извне
Serge
похоже мозг поломал ))))
Serge
можно сделать эвент 'colorChanged', на который менять проп color.
Для какой строки и по каким параметрам я знаю тодько из контекста item
Serge
item можно передать вторым аргументом в $emit
А получить как чтобы потом передать?
Serge
Его только mytable знает
Michael
так же как передаёшь в myHandler
Michael
тогда в итоге получится классически умный компонент и компонент для отрисовки.
Serge
так же как передаёшь в myHandler
Не совсем понял тебя или ты не понял меня.
Michael
А получить как чтобы потом передать?
откуда получить? как я понял, айткм ьерется из таблицы таблицей, а хэндлер на основании данных из айтема меняет цвет.
🐏 Alexander
@Buzzzzer посмотри slots в документации, обычно для таблиц это используют, чтобы например кастомно рендерить разные ячейки или строки
Serge
@Buzzzzer посмотри slots в документации, обычно для таблиц это используют, чтобы например кастомно рендерить разные ячейки или строки
Слоты я тоже юзаю там. тулбары с кастомными фильтрами на таблицу через них сделал. Да для моей задачи тоже подойдет. Просто пока попробовал так ну и поднял вопрос- а правильно ли
🐏 Alexander
<my-table> <template slot="cell-name" scope="props"> <strong>{{ props.name }}</strong> </template> <template slot="cell-action" scope="props"> <button @click="handleEdit(props.id)"> edit </button> </template> </my-table>
Serge
<my-table> <template slot="cell-name" scope="props"> <strong>{{ props.name }}</strong> </template> <template slot="cell-action" scope="props"> <button @click="handleEdit(props.id)"> edit </button> </template> </my-table>
Да такой вариант тоже норм. Я так изначально и хотел так сделать но решил залисапедить по другому. Но наверно переделаю так. 👍
Serge
Он гибче гораздо
🐏 Alexander
через коллбэк это в стиле реакта, лучше писать через слоты, это в стиле web-components и ближе к вью
Олтика
подскажите, плз можно на одном инпуте повесить 2 директивы v-model ? мне нужно и v-model="text" v-model="number" как это можно сделать?
Evgeny
а зачем могут понадобиться две v-model?
ℝei
.sync
И как это ему поможет?
Олтика
для валидации
Serge
И как это ему поможет?
А смысле? Тоже Двунаправленое связывание
Evgeny
что значит "для валидации"?
Ivan
как в стрелочной функции this привязать, что то туплю и не нахожу как работает methods: { onSearchChange: debounce(function () { console.info('onSearchChange() | this.search = ', this.search); }, 500), а должно быть так как то methods: { onSearchChange: debounce(() => { console.info('onSearchChange() | this.search = ', this.search); }, 500).bind(this),