Vue方法与事件处理器详解


Posted in Javascript onDecember 01, 2016

本文实例为大家分享了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>

页面最开始:

Vue方法与事件处理器详解

当你点击新增项目后:

Vue方法与事件处理器详解

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

Vue方法与事件处理器详解

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

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

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

Javascript 相关文章推荐
你必须知道的JavaScript 变量命名规则详解
May 07 Javascript
Javascript中prototype属性实现给内置对象添加新的方法
May 14 Javascript
浅谈JavaScript 的执行顺序
Aug 07 Javascript
js移动焦点到最后位置的简单方法
Nov 25 Javascript
js验证手机号、密码、短信验证码代码工具类
Jun 24 Javascript
JS实现控制图片显示大小的方法【图片等比例缩放功能】
Feb 18 Javascript
在Vue.js中使用Mixins的方法
Sep 12 Javascript
详解js正则表达式验证时间格式xxxx-xx-xx形式
Feb 09 Javascript
微信小程序实现评论功能
Nov 28 Javascript
一个因@click.stop引发的bug的解决
Jan 08 Javascript
vue鼠标悬停事件实例详解
Apr 01 Javascript
JavaScript实现抖音罗盘时钟
Oct 11 Javascript
简单理解vue中实例属性vm.$els
Dec 01 #Javascript
jsp 自动编译机制详细介绍
Dec 01 #Javascript
基于vue.js实现图片轮播效果
Dec 01 #Javascript
JQuery学习总结【一】
Dec 01 #Javascript
Vue.js第一天学习笔记(数据的双向绑定、常用指令)
Dec 01 #Javascript
jQuery 如何实现一个滑动按钮开关
Dec 01 #Javascript
有趣的bootstrap走动进度条
Dec 01 #Javascript
You might like
小文件php+SQLite存储方案
2010/09/04 PHP
利用php获取服务器时间的实现代码
2013/06/07 PHP
深入PHP magic quotes的详解
2013/06/17 PHP
THINKPHP支持YAML配置文件的设置方法
2015/03/17 PHP
php使用socket post数据到其它web服务器的方法
2015/06/02 PHP
ECSHOP在PHP5.5及高版本上报错的解决方法
2015/08/31 PHP
thinkPHP商城公告功能开发问题分析
2016/12/01 PHP
如何在标题栏显示框架内页面的标题
2007/02/03 Javascript
js封装的textarea操作方法集合(兼容很好)
2010/11/16 Javascript
javascript抖动元素的小例子
2013/10/28 Javascript
基于javascript实现的搜索时自动提示功能
2014/12/26 Javascript
浅谈JavaScript对象与继承
2016/07/10 Javascript
微信小程序购物商城系统开发系列-目录结构介绍
2016/11/21 Javascript
webpack实现热加载自动刷新的方法
2017/07/30 Javascript
微信小程序实现简单input正则表达式验证功能示例
2017/11/30 Javascript
使用vue-cli+webpack搭建vue开发环境的方法
2017/12/22 Javascript
vue+element UI实现树形表格带复选框的示例代码
2019/04/16 Javascript
Vue指令之 v-cloak、v-text、v-html实例详解
2019/08/08 Javascript
微信小程序 授权登录详解(附完整源码)
2019/08/23 Javascript
小程序表单认证布局及验证详解
2020/06/19 Javascript
解决Vue @submit 提交后不刷新页面问题
2020/07/18 Javascript
[00:12]DAC2018 天才少年转战三号位,他的SOLO是否仍如昔日般强大?
2018/04/06 DOTA
[01:00:14]DOTA2官方TI8总决赛纪录片 真视界True Sight
2019/01/16 DOTA
Python中列表、字典、元组、集合数据结构整理
2014/11/20 Python
Python合并多个装饰器小技巧
2015/04/28 Python
运动检测ViBe算法python实现代码
2018/01/09 Python
基于python OpenCV实现动态人脸检测
2018/05/25 Python
python中字符串数组逆序排列方法总结
2019/06/23 Python
python针对mysql数据库的连接、查询、更新、删除操作示例
2019/09/11 Python
Python urlopen()参数代码示例解析
2020/12/10 Python
matplotlib事件处理基础(事件绑定、事件属性)
2021/02/03 Python
采用冷却技术的超自然舒适度:GhostBed床垫
2018/09/18 全球购物
土木工程应届生自荐信
2013/09/24 职场文书
社区优秀志愿者先进事迹
2014/05/09 职场文书
甜品蛋糕店创业计划书
2014/09/21 职场文书
2016年企业先进员工事迹材料
2016/02/25 职场文书