Files
build-gmail-clone-with-vue-3/src/components/ModalView.vue
2020-07-01 18:03:46 -07:00

37 lines
655 B
Vue

<template>
<div class="modal">
<div class="overlay" @click="emit('closeModal')"></div>
<div class="modal-card">
<slot />
</div>
</div>
</template>
<script>
import { onBeforeUnmount } from 'vue'
export default {
setup(props, {emit}) {
let onKeydown = (event) => {
console.log(event.key)
if(event.key == 'Escape') {
emit('closeModal')
}
}
window.addEventListener('keydown', onKeydown)
onBeforeUnmount(()=>{
window.removeEventListener('keydown', onKeydown)
})
return {
emit
}
}
}
</script>
<style scoped>
</style>