虚位以待(AD)
虚位以待(AD)
首页 > 网页特效 > JavaScript > Vue方法与事件处理器详解

Vue方法与事件处理器详解
类别:JavaScript   作者:码皇   来源:互联网   点击:

这篇文章主要为大家详细介绍了Vue方法与事件处理器,,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了Vue方法与事件处理器的使用,供大家参考,具体内容如下

按键修饰符

在监听键盘事件时,我们经常需要检测 keyCode。Vue.js 允许为 v-on 添加按键修饰符:

    <!-- 只有在 keyCode 是 13 时调用 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='请填写项目名称' 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: {
    //当你选种某个项目时,将其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;
    }
    , //当用户按回车后,保存添加的项目 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: '人员管理系统' }
    , {
    success:false, projectName: '管理系统' }
    ,{
    success:false, projectName: '假数据1' }
    ,{
    success:false, projectName: '假数据2' }
    , {
    success:false, projectName: '假数据3' }
    ], }
    }
    }
    </script>

页面最开始:

当你点击新增项目后:

在文本框中输入  “豆豆”后按回车键后页面

当你按回车键后触发  keyup.enter事件调saveProjectFun方法,在此方法中进行数据保存。

本文已被整理到了《Vue.js前端组件学习教程》,欢迎大家学习阅读。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关热词搜索: Vue 方法 事件处理器