Vue方法與事件處理器詳解
本文實(shí)例為大家分享了Vue方法與事件處理器的使用,供大家參考,具體內(nèi)容如下
按鍵修飾符
在監(jiān)聽鍵盤事件時(shí),我們經(jīng)常需要檢測 keyCode。Vue.js 允許為 v-on 添加按鍵修飾符:
<!-- 只有在 keyCode 是 13 時(shí)調(diào)用 vm.submit() --> <input v-on:keyup.13="submit">
記住所有的 keyCode 比較困難,Vue.js 為最常用的按鍵提供別名:
<!-- 同上 --> <input v-on:keyup.enter="submit"> <!-- 縮寫語法 --> <input @keyup.enter="submit">
全部的按鍵別名:enter 、tab 、delete、 esc 、space、 up 、down、 left 、right。
eg:
HTML如下:
<template>
<div class="home-body">
<div class="project-all">
<template v-for='project in projectData'>
<div class="name" v-on:click='successT($index)' v-bind:class="{'success':project.success}">{{project.projectName}}</div>
</template>
<div class="name" v-if='addp' v-on:click='addproject'>新增項(xiàng)目</div>
<div class="name" v-if='!addp'>
<input type="text" class='name-input' placeholder='請?zhí)顚戫?xiàng)目名稱' v-on:keyup.enter='saveProjectFun' v-el:addProject>
</div>
<div class="name">
<input type="text" class='name-input' placeholder='esc' v-on:keyup.esc='escFun'>
</div>
<div class="name">
<input type="text" class='name-input' placeholder='delete' v-on:keyup.delete='deleteFun'>
</div>
<div class="name">
<input type="text" class='name-input' placeholder='space' v-on:keyup.space='spaceFun'>
</div>
<div class="name">
<input type="text" class='name-input' placeholder='up' v-on:keyup.up='upFun'>
</div>
<div class="name">
<input type="text" class='name-input' placeholder='down' v-on:keyup.down='downFun'>
</div>
<div class="name">
<input type="text" class='name-input' placeholder='left' v-on:keyup.left='leftFun'>
</div>
<div class="name">
<input type="text" class='name-input' placeholder='right' v-on:keyup.right='rightFun'>
</div>
</div>
</div>
</template>
JS代碼:
<script>
export default {
components: {
},
ready: function() {
},
methods: {
//當(dāng)你選種某個(gè)項(xiàng)目時(shí),將其success屬性改為true,為其class添加 success
successT:function(index){
this.projectData.forEach(function(item){
item.success=false;
});
this.projectData[index].success=true;
},
//點(diǎn)擊添加項(xiàng)目后讓其不顯示
addproject:function(){
this.addp=false;
},
//當(dāng)用戶按回車后,保存添加的項(xiàng)目
saveProjectFun:function(){
var obj={}
obj.success=false;
let name=this.$els.addproject.value;
obj.projectName=name.replace(/\s+/g,"");
this.projectData.push(obj);
this.addp=true;
},
escFun:function(){
alert("esc");
},
deleteFun:function(){
alert("delete");
},
spaceFun:function(){
alert("space空格鍵");
},
upFun:function(){
alert("up");
},
downFun:function(){
alert("down");
},
leftFun:function(){
alert("left");
},
rightFun:function(){
alert("right");
}
},
data() {
return {
addp:true,//是否顯示添加項(xiàng)目
projectData:[{
success:false,
projectName: '人員管理系統(tǒng)'
}, {
success:false,
projectName: '管理系統(tǒng)'
},{
success:false,
projectName: '假數(shù)據(jù)1'
},{
success:false,
projectName: '假數(shù)據(jù)2'
}, {
success:false,
projectName: '假數(shù)據(jù)3'
}
],
}
}
}
</script>
頁面最開始:

當(dāng)你點(diǎn)擊新增項(xiàng)目后:

在文本框中輸入 “豆豆”后按回車鍵后頁面

當(dāng)你按回車鍵后觸發(fā) keyup.enter事件調(diào)saveProjectFun方法,在此方法中進(jìn)行數(shù)據(jù)保存。
本文已被整理到了《Vue.js前端組件學(xué)習(xí)教程》,歡迎大家學(xué)習(xí)閱讀。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
vue2.0 element-ui中el-select選擇器無法顯示選中的內(nèi)容(解決方法)
這篇文章主要介紹了vue2.0 element-ui中的el-select選擇器無法顯示選中的內(nèi)容,在文中小編使用的是element-ui V2.2.3。具體解決方法及示例代碼大家參考下本文2018-08-08
vue實(shí)現(xiàn)百度搜索下拉提示功能實(shí)例
這篇文章主要介紹了vue實(shí)現(xiàn)百度搜索下拉提示功能實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06

