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. css - 如何把一個視圖放在左浮動定位的視圖的上面?2. javascript - axios請求回來的數據組件無法進行綁定渲染3. php多任務倒計時求助4. python的正則怎么同時匹配兩個不同結果?5. javascript - vue中怎么使用原生js插件6. javascript - 請問下面代碼中的...是擴展運算符還是操作運算符?這樣寫是什么意思?7. javascript - 小demo:請教怎么做出類似于水滴不斷擴張的效果?8. css - 子元素跑到父元素外面9. MySQL的聯合查詢[union]有什么實際的用處10. javascript - jquery怎么讓a標簽跳轉后保持tab的樣式
