Binding hotkeys to components with a custom Vue.js directive
v-hotkey - binding hotkeys for components
Vue.js offers a lot of possibilities regarding changes to the DOM. Also, Vue offers custom components and directives which are very useful when a specific task needs to be done. A good example of Vue's possibilities is the directive v-hotkey
which allows the user to bind hotkeys so when triggered a specific action will take place, e.g. hide elements when pressing the buttons 'ctrl+p'.
Take a look at the following key combinations which you can use (one or more):
- ctrl
- alt
- shift
- meta (windows / command)
To see what we are talking about head to the live demo page and use your keyboard!
Example
Below you will find a small example on how to install and use the v-hotkey
directive on a Vue project:
Install
// yarn
yarn add v-hotkey
// npm
npm i --save v-hotkey
Usage
// main.js
import Vue from 'vue'
import VueHotkey from 'v-hotkey'
Vue.use(VueHotkey)
// *.vue file
<template>
<button
v-hotkey="keymap" class="btn btn-default"
:class="{'btn-lg' : size}"
>
Press "alt+q" to change size of the button
</button>
</template>
<script>
export default {
data () {
return {
size: true,
}
},
methods: {
toggle () {
this.size = !this.size
}
},
computed {
keymap () {
return {
// bind to hotkey
'alt+q': this.toggle
}
}
}
}
</script>
Result:
To find what you need to get started head to GitHub where the source code of this project is available.