VUE问题(二)之按键修饰符KeyboardEvent.keyCode' modifier
重要参考:VUE官方迁移策略
弃用 KeyboardEvent.keyCode
问题出现
使用 时出现报错显示 ‘KeyboardEvent.keyCode’ modifier on ‘v-on’ directive
报错原因
VUE3版本:
- 不再支持使用 keyCodes (即键码) 作为 v-on 修饰符;
- 不再支持 config.keyCodes;
VU2 对 keyCodes 说明
Vue 2.x 中的 keyCodes 修饰符
在 Vue 2.x 中,允许使用 keyCodes 作为v-on 的修饰符:
1 | <!-- keyCode version --> |
上面两种写法,在 Vue 2.x 是等价的。
另外, 我们还可以通过全局的 config.keyCodes 选项来自定义 alias (别名)
1 | Vue.config.keyCodes = { |
Vue3 弃用 keyCodes 说明
因为 Web 标准已经弃用 KeyboardEvent.keyCode
所以 Vue 3.x 为了和 Web 标准保持一致也不再支持 keyCodes。
Vue 3.x 建议使用按键 alias (别名)作为v-on的修饰符。
1 | <!-- Vue 3 Key Modifier on v-on --> |
因此,这也意味着config.keyCodes也被弃用了
Vue3 设置快捷键方法
设置快捷键比如 ctrl+s 这种,vue2: @keydown.ctrl.83
配置的代码可以写在 main.js 入口文件中,全局统一管理
vue3 不能使用 keyCode,只能使用按键别名。你为 keyCode=83 设置别名就行了
1 | Vue.config.keyCodes = { |
参考链接
欢迎到公众号来唠嗑:
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 赵逸尘个人博客!