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 asp.net 获取当前超链接中的文本
Apr 14 Javascript
各种常用浏览器getBoundingClientRect的解析
May 21 Javascript
js函数的引用, 关于内存的开销
Sep 17 Javascript
JQuery+Ajax无刷新分页的实例代码
Feb 08 Javascript
JavaScript实现动态创建CSS样式规则方案
Sep 06 Javascript
Javascript 实现图片无缝滚动
Dec 19 Javascript
JavaScript实现信用卡校验方法
Apr 07 Javascript
JavaScript获取浏览器信息的方法
Nov 20 Javascript
jQuery的图片轮播插件PgwSlideshow使用详解
Aug 11 Javascript
jQuery实现的简单拖拽功能示例
Sep 13 Javascript
js技巧之十几行的代码实现vue.watch代码
Jun 09 Javascript
js实现石头剪刀布游戏
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调整gif动画图片尺寸示例代码分享
2013/12/05 PHP
header与缓冲区之间的深层次分析
2016/07/30 PHP
jQuery 美元符冲突的解决方法
2010/03/28 Javascript
js内置对象 学习笔记
2011/08/01 Javascript
js中eval()函数和trim()去掉字符串左右空格应用
2013/02/02 Javascript
js实现的GridView即表头固定表体有滚动条且可滚动
2014/02/19 Javascript
JS实现选项卡实例详解
2015/11/17 Javascript
前端学习笔记style,currentStyle,getComputedStyle的用法与区别
2016/05/28 Javascript
Bootstrap风格的WPF样式
2016/12/07 Javascript
node.js中express中间件body-parser的介绍与用法详解
2017/05/23 Javascript
Vue 项目分环境打包的方法示例
2018/08/03 Javascript
微信小程序MUI导航栏透明渐变功能示例(通过改变opacity实现)
2019/01/24 Javascript
vue项目打包后上传至GitHub并实现github-pages的预览
2019/05/06 Javascript
[12:36]《DOTA2》国服注册与激活指南全攻略
2013/04/28 DOTA
[01:21]DOTA2周边文化主题展 神秘商店火热开售
2017/07/30 DOTA
Python中用memcached来减少数据库查询次数的教程
2015/04/07 Python
基于python的七种经典排序算法(推荐)
2016/12/08 Python
Python实现简单文本字符串处理的方法
2018/01/22 Python
python字符串string的内置方法实例详解
2018/05/14 Python
Python3.5实现的三级菜单功能示例
2019/03/25 Python
Python考拉兹猜想输出序列代码实践
2019/07/05 Python
详解Django将秒转换为xx天xx时xx分
2019/09/27 Python
解决jupyter notebook 前面书写后面内容消失的问题
2020/04/13 Python
Python远程方法调用实现过程解析
2020/07/28 Python
CSS实现半透明边框与多重边框的场景分析
2019/11/13 HTML / CSS
英国领先的葡萄酒专家:Majestic Wine
2017/05/30 全球购物
意大利咖啡、浓缩咖啡和浓缩咖啡机:illy caffe
2019/03/20 全球购物
世界上最大的铁人三项商店:Tri UK
2020/11/04 全球购物
波兰运动鞋网上商店:Distance.pl
2020/07/30 全球购物
大学本科毕业生的自我鉴定范文
2013/11/19 职场文书
自荐书模板
2013/12/15 职场文书
2014年幼儿园工作总结
2014/11/10 职场文书
2015年教师工作总结范文
2015/03/31 职场文书
会议新闻稿
2015/07/17 职场文书
养成教育工作总结
2015/08/13 职场文书
护士年终工作总结不会写?各科护士模板总结
2020/01/02 职场文书