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

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

3988 members

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

09:35:59 ДП
User 552804
как сделать закрытие модального окна при клике на esc в vue?
09:38:25 ДП
User 268035
Хендлер на нажатие кнопки?
09:38:32 ДП
User 552804
на что вешать?
09:38:48 ДП
User 268035
На модальное?
09:39:17 ДП
User 268035
e.keyCode == 27
09:39:29 ДП
User 552804
<modal @keyup.esc="closeModal"> так типа?
09:40:01 ДП
User 552804
так не работает
09:40:06 ДП
User 552804
это у меня компонент модалки
09:40:13 ДП
User 552804
как из гайда
09:41:01 ДП
User 268035
http://stackoverflow.com/questions/12816497/close-modal-box-on-escape-key
stackoverflow.com/questions/12816497/close-modal-box-on-escape-key
I have made a modal box popup functionality & wants to close modal popup up box on escape key in all browsers. I have used the file modal-window.min.js. You can check this js file from below u...
09:41:14 ДП
User 268035
Как без $ сделать надеюсь поймешь
09:41:29 ДП
09:41:34 ДП
09:41:43 ДП
User 552804
как сделать это vue-шными диррективами
09:42:19 ДП
User 552804
понимаю когда это делается у инпута например
09:42:31 ДП
User 552804
но у компонента модалки не понимаю
09:44:11 ДП
User 552804
ну и мне не достаточно просто fade, мне надо вызывать метод closeModal который делает не только закрытие но и еще очищает кое какие данные
09:46:53 ДП
User 268035
Да там fade непричем, ты вместо него сделаешь вызов своего closemodal
09:47:07 ДП
User 268035
Я почитала доку и интересно, че это v-on не работает
09:48:40 ДП
User 552804
Так где директиву то прописать?
09:48:45 ДП
User 552804
У модалки?
09:48:51 ДП
User 552804
Не работает так
09:48:56 ДП
User 268035
Ну, по идее да
09:49:05 ДП
User 268035
Но эта фигня кажется только на инпутах работает
09:49:10 ДП
09:49:16 ДП
User 552804
Ну вот и я так по докам понял
09:49:56 ДП
User 268035
https://laracasts.com/discuss/channels/vue/vuejs-listen-for-key-events-on-div
laracasts.com/discuss/channels/vue/vuejs-listen-for-key-events-on-div
Is there an way to listen for space or other key OUTSIDE from input fields? Something like
09:50:00 ДП
User 268035
Страдай короче
09:51:13 ДП
User 268035
https://facebook.github.io/react/docs/events.html#keyboard-events переходи на темную сторону
reactjs.org/docs/events.html
A JavaScript library for building user interfaces
09:53:02 ДП
User 552804
Нет уж
09:53:22 ДП
User 552804
Я бэкендщик, мне все эти ваши js сложна
10:15:23 ДП
User 215699186
может лучше сообщить об этом начальнику?)
10:16:02 ДП
User 552804
я сам себе начальник в этом проекте)
10:16:11 ДП
User 215699186
хорошо, сообщить заказчику
10:16:33 ДП
User 552804
я сам себе заказчик в этом проекте
10:16:42 ДП
User 552804
кароч для себя делаю проект
10:16:54 ДП
User 552804
"стартап" бугага
10:16:57 ДП
User 215699186
тогда нафига тебе вуе?
10:17:17 ДП
User 552804
а оно надо только когда есть заказчик или начальник?)
10:18:31 ДП
User 215699186
нет, но ты расходуешь большой ресурс на изучение технологии, а не на проект.  Если же это не проект ради изучения технологии
10:18:45 ДП
User 552804
это проект который я могу продать за деньги
10:18:57 ДП
User 552804
какая разница для чего я это делаю, есть конкретный вопрос
10:19:20 ДП
User 552804
от того для чего я это делаю не меняется суть того что мне надо закрыть модалку по клику на esc
10:19:39 ДП
User 268035
https://laracasts.com/discuss/channels/vue/vuejs-listen-for-key-events-on-div
10:19:39 ДП
User 268035
от того для чего я это делаю не меняется суть того что мне надо закрыть модалку по клику на esc
10:19:47 ДП
User 268035
А то сейчас весь день потеряешь
10:21:27 ДП
User 552804
да я уже увидел, прочитал
10:21:37 ДП
User 552804
пока не дошли руки попробовать
10:21:43 ДП
User 552804
щас другой таск закрываю
10:33:23 ДП
User 3370301
при показе модельки вешай прослушивание события все окно, при закрытии удаляй, вот. и самый просто способ. пишется на ваниле в 4 строки
10:39:48 ДП
User 3370301
document.onkeypress = function(evt) {
    evt = evt || window.event;
    if (evt.keyCode == 27) {
        alert("Esc was pressed");
    }
};
Примерно так, но в этом подходе есть 1 проблема, onkeypress замениться и если нужно только 1 активное событие, тогда такой код отлично подойдет, если нет, то нужно писать event emitter для передачи событий всем компонентам, которые его прослушивают