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 相关文章推荐
原型方法的不同写法居然会影响调试的解决方法
Mar 08 Javascript
js 浮动层菜单收藏
Jan 16 Javascript
JavaScript 应用技巧集合[推荐]
Aug 30 Javascript
读jQuery之四(优雅的迭代)
Jun 20 Javascript
jquery实现动态菜单的实例代码
Nov 28 Javascript
js创建对象的方式总结
Jan 10 Javascript
AngularJS语法详解
Jan 23 Javascript
JavaScript检测实例属性, 原型属性
Feb 04 Javascript
jquery实现仿新浪微博带动画效果弹出层代码(可关闭、可拖动)
Oct 12 Javascript
jQuery Easyui学习之datagrid 动态添加、移除editor
Jan 27 Javascript
Vue的编码技巧与规范使用详解
Aug 28 Javascript
vue项目中js-cookie的使用存储token操作
Nov 13 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
NOD32 v2.70.32 简体中文封装版 提供下载了
2007/02/27 PHP
MayFish PHP的MVC架构的开发框架
2009/08/13 PHP
深入file_get_contents与curl函数的详解
2013/06/25 PHP
PHP提示Deprecated: mysql_connect(): The mysql extension is deprecated的解决方法
2014/08/28 PHP
PHP字符串与数组处理函数用法小结
2020/01/07 PHP
静态页面的值传递(三部曲)
2006/09/25 Javascript
动态表格Table类的实现
2009/08/26 Javascript
javascript 显示当前系统时间代码
2009/12/28 Javascript
jQuery实现多级下拉菜单jDropMenu的方法
2015/08/28 Javascript
关于JS中prototype的理解
2015/09/07 Javascript
基于Jquery和html5的7款个性化地图插件
2015/11/17 Javascript
php基于redis处理session的方法
2016/03/14 Javascript
zTree获取当前节点的下一级子节点数实例
2017/09/05 Javascript
Vue CLI3基础学习之pages构建多页应用
2019/06/02 Javascript
jQuery实现颜色打字机的完整代码
2020/03/19 jQuery
react的hooks的用法详解
2020/10/12 Javascript
Vue检测屏幕变化来改变不同的charts样式实例
2020/10/26 Javascript
python实现异步回调机制代码分享
2014/01/10 Python
离线安装Pyecharts的步骤以及依赖包流程
2020/04/23 Python
Python中分支语句与循环语句实例详解
2018/09/13 Python
Django+Xadmin构建项目的方法步骤
2019/03/06 Python
Python自动化测试中yaml文件读取操作
2020/08/20 Python
爱淘宝:淘宝网购物分享平台
2017/04/28 全球购物
美国修容界大佬创建的个人美妆品牌:Kevyn Aucoin Beauty
2018/12/12 全球购物
英国在线女鞋目的地:SIMMI
2018/12/27 全球购物
馥绿德雅美国官方网站:Rene Furterer头皮护理专家
2019/05/01 全球购物
三维科技面试题
2013/07/27 面试题
Can a struct inherit from another class? (结构体能继承类吗)
2014/07/22 面试题
幼儿园毕业教师感言
2014/02/21 职场文书
财务总监岗位职责
2014/03/07 职场文书
期中考试复习计划
2015/01/19 职场文书
学困生帮扶工作总结
2015/08/13 职场文书
2016三严三实专题教育活动心得体会
2016/01/06 职场文书
2019年行政人事个人工作总结范本!
2019/07/19 职场文书
pytest配置文件pytest.ini的详细使用
2021/04/17 Python
解决python绘图使用subplots出现标题重叠的问题
2021/04/30 Python