@vuejs_ru
Vue.js — русскоговорящее сообщество

Общаемся на темы, посвященные Vue.js и опыту его использования. Проблемы. Новости. Решения. См. также: @js_ru, @react_js, @angular_ru, @nuxtjs_ru Вакансии только тут: @javascript_jobs

3988 members

Архив канала @vuejs_ru 5 октября 2016 г.

01:26:15 ДП
User 58768789
User 139068333
и изменение в watch не пашет. наверное надо слать нахуй эту поделку и переходить на реакт
Реакт тебе после изменения списка будет перерендеривать не весь список, а весь компонент и компоненты ниже
01:26:41 ДП
User 139068333
да, я прочитал как он детектит
01:27:18 ДП
User 139068333
ну в целом мирюсь. мигрировал на вторую версию
08:16:41 ДП
User 70782689
Всем привет ... подскажите один момент:
есть плагин bootstrap switch, который рисует красивый чекбокс.
У этого плагина есть кастомное событие изменения значения чекбокса - switchChange.bootstrapSwitch
как можно отследить это событие в Vue ?
стандартное событие v-on:change не работает с этим плагином
09:14:16 ДП
User 139068333
http://stackoverflow.com/questions/36156465/listen-to-custom-event-in-vue-js
путаный ответ да
stackoverflow.com/questions/36156465/listen-to-custom-event-in-vue-js
Vue.js works great with browser events such as click or mousedown. But not work at all with custom events. Here is the code: HTML: &lt...
09:14:22 ДП
User 139068333
надо поиграться
09:26:25 ДП
User 139068333
вроде просто будет работать v-on
09:31:35 ДП
User 70782689
не работает v-on с этим событием, и ни change, ни click не ловит
09:37:31 ДП
User 70782689
*vue 2 кстати )
09:41:41 ДП
User 139068333
именно switchChange.bootstrapSwitch пробовали ? это вроде dom event
09:42:06 ДП
User 139068333
странно тогда
09:51:06 ДП
User 70782689
ни v-on:switchChange.bootstrapSwitch="handler", ни v-on:"switchChange.bootstrapSwitch"="handler" не работают ... $('.switch').on('switchChange.bootstrapSwitch', handler) - прекрасно работает
11:14:38 ДП
User 56364851
User 139068333
вроде обещали завести генераторы
кто, где?
11:15:52 ДП
User 139068333
https://developer.mozilla.org/ru/docs/Web/JavaScript/Guide/Iterators_and_Generators
developer.mozilla.org/ru/docs/Web/JavaScript/Guide/Iterators_and_Generators
Обработка каждого элемента коллекции является весьма распространенной операцией. JavaScript предоставляет несколько способов перебора коллекции, от простого цикла for до map(), filter() и array comprehensions. Итераторы и генераторы внедряют концепцию перебора непосредственно в ядро языка и обеспечивают механизм настройки поведения for...of циклов.
11:25:04 ДП
User 56364851
если вы про потоки (rxjs) то этого там не надо, там уже все давно есть
11:46:37 ДП
User 94523403
ребят, а как в эвент хэндлинг передать то, какой клавишей мыши нажал юзер на кнопку? в частности мне нужно различать, правой или левой
11:47:10 ДП
User 94523403
     <button @contextmenu.prevent="handleRightClick" 
                                </button>
11:47:40 ДП
User 94523403
такая штука работает, но только на правую клавишу

в общем то можно создать 2 эвент листенера, но хотелось бы чтобы логика нажатий обрабатывалась в одном месте
11:48:11 ДП
User 94523403
знаю про v-on:click
а есть что-то более универсальное? чтобы внутри метода узнать левой/правой произошло нажатие
11:55:38 ДП
User 184398046
mousedown и смотреть код кнопки
12:04:01 ПП
User 94523403
получилось, благодарю!
12:06:34 ПП
User 94523403
только теперь prevent.default для правой кнопки не работает, выдает контекстное меню :(
12:07:03 ПП
User 94523403
 handleClick: function (e) {
          e.preventDefault()
          if (e.button == 2){
          console.log('right')}
        else if (e.button ==0){
            console.log('left')
          }
      }
метод в компоненте
12:08:35 ПП
User 94523403
в каком месте следует вызывать preventDefault()?
12:09:13 ПП
User 94523403
   <button @mousedown="handleRightClick" >
                                </button>
вот так выглядит кнопка
12:12:21 ПП
User 104477
Вместо mousedown нужно обрабатывать https://developer.mozilla.org/en-US/docs/Web/Events/contextmenu
developer.mozilla.org/en-US/docs/Web/Events/contextmenu
The contextmenu event is fired when the right button of the mouse is clicked (before the context menu is displayed), or when the context menu key is pressed (in which case the context menu is displayed at the bottom left of the focused element, unless the element is a tree, in which case the context menu is displayed at the bottom left of the current row).
12:13:09 ПП
User 104477
Вернее, не вместо, а вдобавок, если нужно именно на правую кнопку особый функционал повесить, а не меню выключить вообще
12:13:13 ПП
User 94523403
тогда нажатие левой не будет ловить ведь?
12:13:22 ПП
User 94523403
предлагаете 2 хэнлдера на каждый элемент?
12:13:27 ПП
User 94523403
подумал что это не хорошо, делить логику
12:13:46 ПП
User 104477
Да, конечно.
12:13:47 ПП
User 94523403
потому что в зависимости от стейта кнопки разные действия происходят при разных нажатиях
12:13:58 ПП
User 104477
Это не деление логики, это обработка разных событий
12:15:52 ПП
User 94523403
хорошо, я перепишу, спасибо