事件处理
事件绑定事件修饰符按键修饰符大约 2 分钟
事件绑定
- 使用 v-on:xxx 或 @xxx 绑定事件,其中 xxx 是事件名
- 事件的回调需要配置在 methods 对象中,最终会在 vm 上
- methods 中配置的函数,不要用箭头函数,否则 this 不是 vm
- methods 中配置的函数,都是被 Vue 所管理的函数,this 指向是 vm 或组件实例对象
- @click="demo" 和 @click="demo($event)" 效果一致,但后者可以传参
- 绑定事件的时候引号内可以写一些简单的语句
事件修饰符
- @click.prevent:阻止事件的默认行为 event.preventDefault()
- @click.stop : 停止事件冒泡 event.stopPropagation()
- @click.one:事件只触发一次
- @click.capture:使用事件的捕获模式
- @click.self:只有 event.target 是当前操作的元素时才触发事件
- @click.passive:事件的默认行为立即执行,无需等待事件回调执行完毕(先动作,再执行函数)
修饰符可连续写如 @click.one.prevent
按键修饰符
1.keycode : 操作的是某个 keycode 值的键
2.keyName : 操作的某个按键名的键(少部分)
- 常用的按键别名:
回车 => enter
删除 => delete(捕获“删除”和“退格”键)
退出 => esc
空格 => space
换行 => tab
上 => up
下 => down
左 => left
右 => right
Vue 未提供别名的按键,可以使用按键原始的 key 值去绑定,但要注意转为 kebab-case(短横线命名)
系统修饰键(用法特殊):ctrl、alt、shift、meta
(1)配合keyup使用,按下修饰键的同事,再按下其他键,随后释放其他键,事件才被触发。
(2)配合keydown使用,正常触发事件。
也可以使用keyCode去指定具体的按键(不推荐)
Vue.config.keyCodes[自定义键名]
= 键码,定制按键别名