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 相关文章推荐
JS模拟多线程
Feb 07 Javascript
Javascript 作用域使用说明
Aug 13 Javascript
Javascript中拼接大量字符串的方法
Feb 05 Javascript
JavaScript获取网页支持表单字符集的方法
Apr 02 Javascript
bootstrap模态框消失问题的解决方法
Dec 02 Javascript
JS实现简单的二元方程计算器功能示例
Jan 03 Javascript
mui上拉加载功能实例详解
Apr 13 Javascript
vue.js过滤器+ajax实现事件监听及后台php数据交互实例
May 22 Javascript
微信小程序实现保存图片到相册功能
Nov 30 Javascript
如何实现一个简易版的vuex持久化工具
Sep 11 Javascript
layui表格数据复选框回显设置方法
Sep 13 Javascript
微信小程序实现多行文字超出部分省略号显示功能
Oct 23 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 Cookie学习笔记
2016/08/23 PHP
PHP实现大数(浮点数)取余的方法
2017/02/18 PHP
PHP基于PDO扩展操作mysql数据库示例
2018/12/24 PHP
浅谈PHP SHA1withRSA加密生成签名及验签
2019/03/18 PHP
一个很简单的办法实现TD的加亮效果.
2006/06/29 Javascript
jQuery控制输入框只能输入数值的小例子
2013/03/20 Javascript
JavaScript操纵窗口的方法小结
2013/06/28 Javascript
javascript判断两个IP地址是否在同一个网段的实现思路
2013/12/13 Javascript
Bootstrap导航中表单简单实现代码
2017/03/06 Javascript
jQuery UI 实例讲解 - 日期选择器(Datepicker)
2017/09/18 jQuery
JS实现马赛克图片效果完整示例
2019/04/13 Javascript
深入理解JS异步编程-Promise
2019/06/03 Javascript
Layui数据表格跳转到指定页的实现方法
2019/09/05 Javascript
React路由鉴权的实现方法
2019/09/05 Javascript
es6中let和const的使用方法详解
2020/02/24 Javascript
JavaScript实现图片伪异步上传过程解析
2020/04/10 Javascript
解决vue侦听器watch,调用this时出现undefined的问题
2020/10/30 Javascript
[03:02]生活中的Dendi之野外度假篇
2016/08/09 DOTA
python的常见命令注入威胁
2013/02/18 Python
Python读取环境变量的方法和自定义类分享
2014/11/22 Python
python 获取当天每个准点时间戳的实例
2018/05/22 Python
详解Python 装饰器执行顺序迷思
2018/08/08 Python
新手入门学习python Numpy基础操作
2020/03/02 Python
Python实现一个简单的毕业生信息管理系统的示例代码
2020/06/08 Python
PyCharm上安装Package的实现(以pandas为例)
2020/09/18 Python
中国最大隐形眼镜网上商城:视客眼镜网
2016/10/30 全球购物
英国在线房屋中介网站:Yopa
2018/01/09 全球购物
康拓普公司Java笔面试
2016/09/23 面试题
物流仓管员工作职责
2014/01/06 职场文书
晚宴邀请函范文
2014/01/15 职场文书
音乐教学案例
2014/01/30 职场文书
普通话宣传标语
2014/06/26 职场文书
自我推荐信格式模板
2015/03/24 职场文书
人间正道是沧桑观后感
2015/06/15 职场文书
2015中学教师个人工作总结
2015/07/22 职场文书
MySQL 如何限制一张表的记录数
2021/09/14 MySQL