- Full-Stack Vue.js 2 and Laravel 5
- Anthony Gore
- 175字
- 2021-07-02 19:57:23
Event modifiers
Vue makes it easy to listen forspecifickeys by offeringmodifiersto thev-ondirective. Modifiers are postfixes denoted by a dot (.), for example:
<input v-on:keyup.enter="handler">
As you'd probably guess, the.entermodifiertells Vue to only call the handler when the event is triggered by theEnterkey. Modifiers save you from having to remember the specific key code, and also make your template logic more obvious. Vue offers a variety of other key modifiers, including:
- tab
- delete
- space
- esc
With that in mind, it seems like we could close our modal with this directive:
v-on:keyup.esc="modalOpen = false"
But then what tag do we attach this directive to? Unfortunately, unless an input is focused on, key events are dispatched from thebodyelement, which, as we know, is out of Vue's jurisdiction!
To handle this event we'll, once again, resort to the Web API.
app.js:
var app = new Vue({ ... }); document.addEventListener(</span>'keyup', function(evt) { if (evt.keyCode === 27 && app.modalOpen) { app.modalOpen = false; } });
This works, with one caveat (discussed in the next section). But Vue can help us make it perfect.
- JBoss Weld CDI for Java Platform
- MySQL數據庫應用與管理 第2版
- Developing Mobile Web ArcGIS Applications
- .NET 4.0面向對象編程漫談:基礎篇
- SQL for Data Analytics
- 編程珠璣(續)
- Mastering Unity Shaders and Effects
- C++程序設計基礎教程
- iOS編程基礎:Swift、Xcode和Cocoa入門指南
- 網站構建技術
- Python時間序列預測
- Android開發案例教程與項目實戰(在線實驗+在線自測)
- 零基礎入門學習Python(第2版)
- Building UIs with Wijmo
- Mastering Machine Learning with R