- Главная
- Проекты на Vue
- Генератор кодов клавиш
Генератор кодов клавиш
Работа с клавиатурными событиями — неотъемлемая часть создания интерактивных веб-приложений. Однако, запомнить или быстро узнать коды для всех клавиш бывает сложно. Создание инструмента для отображения этих данных становится тривиальной задачей, если использовать современные фреймворки, такие как Vue.js. Его реактивность и лаконичный синтаксис позволяют в несколько строк кода создать мощный и полезный компонент, который вы видите ниже.
Нажмите любую клавишу на клавиатуре, чтобы в реальном времени увидеть ее основные коды: event.key, event.keyCode и event.code.
Нажмите любую клавишу, чтобы получить ее код
event.key
event.keyCode
event.code
Внимание! Представленный код — это готовый компонент, но для его работы на странице должен быть установлен и подключен фреймворк Vue. Если вы начинающий разработчик, просто добавьте строку <script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>
в раздел <head> вашего HTML, и всё заработает.
Как работает генератор кодов клавиш?
Выше представлен исходный код этого интерактивного компонента. Давайте разберем его по частям, чтобы понять, как просто Vue.js управляет состоянием и логикой.
HTML (Шаблон)
В шаблоне мы используем директивы Vue для условного рендеринга и отображения данных.
v-if="!key"Пока клавиша не нажата (значениеkeyложно), отображается приглашающая надпись.v-elseКак только клавиша нажата, отрисовывается блок с тремя ячейками кодов.{{ key }},{{ keyCode }},{{ code }}— это интерполяции, которые автоматически обновляются в DOM при изменении соответствующих реактивных переменных.
CSS (Стили)
Стили обеспечивают чистый и адаптивный внешний вид. Используется CSS Grid для выравнивания элементов по центру и для создания сетки из трех колонок.
JavaScript (Логика на Vue 3 с Composition API)
Это сердце нашего компонента, где используется Composition API Vue.js 3.
- Реактивные данные: С помощью
refсоздаются три реактивные переменные:key,keyCodeиcode. Их изменение автоматически обновляет интерфейс. - Хук жизненного цикла:
onMountedгарантирует, что обработчик событияkeydownбудет добавлен к окну только после монтирования компонента в DOM. - Обработчик события: При нажатии клавиши функция-обработчик запускается и получает объект события
e. key.value = e.key === ' ' ? 'Space' : e.key— здесь мы делаем клавишу «Пробел» более читаемой, отображая «Space» вместо пустой строки.keyCode.value = e.keyCode— сохраняем числовой код клавиши (устаревший, но все еще используемый).code.value = e.code— сохраняем физический код клавиши на клавиатуре, который не зависит от раскладки (например,KeyAдля латинской ‘A’ и кириллической ‘Ф’).
Этот компонент — небольшой пример того, как быстро и эффективно можно создавать динамические интерфейсы с Vue.js. Мы не просто пишем код, мы создаем инструменты, которые улучшают пользовательский опыт и помогают в работе разработчикам.
Готовы оживить ваш сайт или веб-приложение?
Наша веб-студия специализируется на создании креативных, интерактивных и высокопроизводительных сайтов и компонентов, которые выделят ваш продукт на фоне конкурентов. От сложных анимаций до удобных пользовательских интерфейсов — мы воплотим ваши самые смелые идеи в код.
Свяжитесь с нами, и давайте создадим что-то удивительное вместе!