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的开源工具PACKER2.0.2
Nov 04 Javascript
jquery插件 cluetip 关键词注释
Jan 12 Javascript
js调试系列 源码定位与调试[基础篇]
Jun 18 Javascript
浅谈Javascript的静态属性和原型属性
May 07 Javascript
谈谈JavaScript中function多重理解
Aug 28 Javascript
JS+CSS3实现超炫的散列画廊特效
Jul 16 Javascript
Node.js 使用命令行工具检查更新
Jun 08 Javascript
JavaScript对象拷贝与Object.assign用法实例分析
Jun 20 Javascript
JS内部事件机制之单线程原理
Jul 02 Javascript
layui的table中显示图片方法
Aug 17 Javascript
vue项目如何监听localStorage或sessionStorage的变化
Jan 04 Vue.js
vue css 相对路径导入问题级踩坑记录
Jun 05 Vue.js
简单理解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中调用JAVA
2006/10/09 PHP
PHP setTime 设置当前时间的代码
2012/08/27 PHP
phpize的深入理解
2013/06/03 PHP
基于session_unset与session_destroy的区别详解
2013/06/03 PHP
如何在Ubuntu下启动Apache的Rewrite功能
2013/07/05 PHP
jQuery ajax调用WCF服务实例
2014/07/16 Javascript
JavaScript控制listbox列表框的项目上下移动的方法
2015/03/18 Javascript
jquery实现仿JqueryUi可拖动的DIV实例
2015/07/31 Javascript
聊一聊jQuery插件uploadify使用方法
2016/08/24 Javascript
JAVA中截取字符串substring用法详解
2017/04/14 Javascript
react实现菜单权限控制的方法
2017/12/11 Javascript
JointJS流程图的绘制方法
2018/12/03 Javascript
Seajs源码详解分析
2019/04/02 Javascript
重学 JS:为啥 await 不能用在 forEach 中详解
2019/04/15 Javascript
Vue.js路由实现选项卡简单实例
2019/07/24 Javascript
javascript面向对象创建对象的方式小结
2019/07/29 Javascript
vue中created和mounted的区别浅析
2019/08/13 Javascript
安装Python的web.py框架并从hello world开始编程
2015/04/25 Python
Python合并两个字典的常用方法与效率比较
2015/06/17 Python
深入解析Python中的lambda表达式的用法
2015/08/28 Python
matplotlib.pyplot画图 图片的二进制流的获取方法
2018/05/24 Python
Python3列表List入门知识附实例
2020/02/09 Python
Windows下Pycharm远程连接虚拟机中Centos下的Python环境(图文教程详解)
2020/03/19 Python
Python dict的常用方法示例代码
2020/06/23 Python
Python Django路径配置实现过程解析
2020/11/05 Python
html5实现输入框fixed定位在屏幕最底部兼容性
2020/07/03 HTML / CSS
租租车:国际租车、美国租车、欧洲租车、特价预订国外租车(中文服务)
2018/03/28 全球购物
Ellesse英国官网:意大利高级运动品牌
2019/07/23 全球购物
Yankee Candle官网:美国最畅销蜡烛品牌之一
2020/01/05 全球购物
Java程序员面试90题
2013/10/19 面试题
成人毕业生自我鉴定
2013/10/18 职场文书
爱心捐款倡议书
2014/04/14 职场文书
一份关于丢失公司财物的检讨书
2014/09/19 职场文书
嘉宾邀请函
2015/01/31 职场文书
研究生给导师的自荐信
2015/03/06 职场文书
2019年最新借条范本!
2019/07/08 职场文书