javascript - Vue键盘事件为何要加上native?
问题描述
<template>
<el-form :model='ruleForm2' :rules='rules2' ref='ruleForm2' label-position='left' label- > <h3 class='title'>系统登录</h3> <el-form-item prop='account'><el-input type='text' v-model='ruleForm2.account' auto-complete='off' placeholder='账号'></el-input> </el-form-item> <el-form-item prop='password'><el-input type='password' v-model='ruleForm2.password' auto-complete='off' placeholder='密码' @keyup.enter.native='handleSubmit2'></el-input> </el-form-item> <el-form-item style='width:100%;'><el-button type='primary' @click.native.prevent='handleSubmit2' :loading='logining' >登录</el-button> </el-form-item></el-form>
</template>
@keyup.enter这里必须加上 .native 才能生效.
问题解答
回答1:因为你@keyup.enter是写在一个封装好的组件上 如果你写在一个input上就不需要.native 至于为什么,请参考vue文档
回答2:给组件绑定原生事件采用的方法
回答3:@ 这个东西实际上是 v-on 的简写,而 v-on 则是对 Vue 的事件体系封装后的 API 接口。
Vue 的官方文档中指出了,Vue 使用的是一套自己的事件传递机制,如 @click 等事件是经过 Vue 封装的。因此,在一些实际上处理 DOM 原生事件的场合才需要添加额外的标识符。
回答4:沉了沉了....
相关文章:
1. css3 - 新版支付宝 账单页面滑动时月份栏被下一个月给顶上去是什么效果2. 跟着课件一模一样的操作使用tp6,出现了错误3. javascript - 微信小程序限制加载个数4. 求救一下,用新版的phpstudy,数据库过段时间会消失是什么情况?5. html按键开关如何提交我想需要的值到数据库6. nginx - WordPress绑定了域名后主页依然显示ip,以及WordPress目录问题7. python - Flask云部署,gunicorn运行成功,但是通过外网端口无法访问8. css3 - 淘宝网上这种抵抗反弹的效果如何做?9. javascript - 类似于天猫和京东,商品详情页上拉查看图文详情,是通过什么方式实现的?10. PHP类封装的插入数据,总是插入不成功,返回false;
