Vue方法與事件處理器詳解
本文實例為大家分享了Vue方法與事件處理器的使用,供大家參考,具體內(nèi)容如下
按鍵修飾符
在監(jiān)聽鍵盤事件時,我們經(jīng)常需要檢測 keyCode。Vue.js 允許為 v-on 添加按鍵修飾符:
<!-- 只有在 keyCode 是 13 時調(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'>新增項目</div>
<div class="name" v-if='!addp'>
<input type="text" class='name-input' placeholder='請?zhí)顚戫椖棵Q' 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)你選種某個項目時,將其success屬性改為true,為其class添加 success
successT:function(index){
this.projectData.forEach(function(item){
item.success=false;
});
this.projectData[index].success=true;
},
//點擊添加項目后讓其不顯示
addproject:function(){
this.addp=false;
},
//當(dā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,//是否顯示添加項目
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)你點擊新增項目后:

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

當(dāng)你按回車鍵后觸發(fā) keyup.enter事件調(diào)saveProjectFun方法,在此方法中進行數(shù)據(jù)保存。
本文已被整理到了《Vue.js前端組件學(xué)習(xí)教程》,歡迎大家學(xué)習(xí)閱讀。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
webpack+vue-cli項目中引入外部非模塊格式j(luò)s的方法
今天小編就為大家分享一篇webpack+vue-cli項目中引入外部非模塊格式j(luò)s的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-09-09
vue中使用vue-router切換頁面時滾動條自動滾動到頂部的方法
這篇文章主要介紹了vue項目中在使用vue-router切換頁面的時候滾動條自動滾動到頂部的實現(xiàn)方法,一般使用Window scrollTo() 方法實現(xiàn),本文給大家簡單介紹了crollTop的使用,需要的朋友可以參考下2017-11-11

