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 YUI 读码日记之 YAHOO.util.Dom - Part.2 0
Mar 22 Javascript
JavaScript执行顺序详细介绍
Dec 04 Javascript
学习Bootstrap组件之下拉菜单
Jul 28 Javascript
js实现基于正则表达式的轻量提示插件
Aug 29 Javascript
jquery实现的简单二级菜单效果代码
Sep 22 Javascript
使用jquery.qrcode.min.js实现中文转化二维码
Mar 11 Javascript
javascript实现简单计算器效果【推荐】
Apr 19 Javascript
js计算时间差代码【包括计算,天,时,分,秒】
Apr 26 Javascript
利用JavaScript实现拖拽改变元素大小
Dec 14 Javascript
在bootstrap中实现轮播图实例代码
Jun 11 Javascript
JavaScript插件Tab选项卡效果
Nov 14 Javascript
Vue 处理表单input单行文本框的实例代码
May 09 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、png、JPEG
2006/10/09 PHP
PHP中将数组转成XML格式的实现代码
2011/08/08 PHP
php使用FFmpeg接口获取视频的播放时长、码率、缩略图以及创建时间
2016/11/07 PHP
一个小型js框架myJSFrame附API使用帮助
2008/06/28 Javascript
js 提交和设置表单的值
2008/12/19 Javascript
js 获取屏幕各种宽高的方法(浏览器兼容)
2013/05/15 Javascript
JavaScript打印网页指定区域的例子
2014/05/03 Javascript
Javascript实现div层渐隐效果的方法
2015/05/30 Javascript
Underscore.js 1.3.3 中文注释翻译说明
2015/06/25 Javascript
jquery控制显示服务器生成的图片流
2015/08/04 Javascript
JS使用正则表达式除去字符串中重复字符的方法
2015/11/05 Javascript
让浏览器崩溃的12行JS代码(DoS攻击分析及防御)
2016/10/10 Javascript
如何写好你的JavaScript【推荐】
2017/03/02 Javascript
Angular动态添加、删除输入框并计算值实例代码
2017/03/29 Javascript
详解Angular2响应式表单
2017/06/14 Javascript
vue移动端裁剪图片结合插件Cropper的使用实例代码
2017/07/10 Javascript
用jquery获取select标签中选中的option值及文本的示例
2018/01/25 jQuery
JavaScript This指向问题详解
2019/11/25 Javascript
JS中数组实现代码(倒序遍历数组,数组连接字符串)
2019/12/29 Javascript
JS+CSS实现3D切割轮播图
2020/03/21 Javascript
vue实现点击出现操作弹出框的示例
2020/11/05 Javascript
[41:52]DOTA2-DPC中国联赛 正赛 CDEC vs Dynasty BO3 第二场 2月22日
2021/03/11 DOTA
从零学Python之引用和类属性的初步理解
2014/05/15 Python
用Python编写一个每天都在系统下新建一个文件夹的脚本
2015/05/04 Python
python使用wmi模块获取windows下硬盘信息的方法
2015/05/15 Python
Python解析最简单的验证码
2016/01/07 Python
Python数据报表之Excel操作模块用法分析
2019/03/11 Python
使用Python画股票的K线图的方法步骤
2019/06/28 Python
使用PyTorch将文件夹下的图片分为训练集和验证集实例
2020/01/08 Python
Python pexpect模块及shell脚本except原理解析
2020/08/03 Python
python 如何上传包到pypi
2020/12/24 Python
params有什么用
2016/03/01 面试题
俄语专业职业生涯规划
2014/02/26 职场文书
幼师自荐信范文
2015/03/06 职场文书
Vue3.0 手写放大镜效果
2021/07/25 Vue.js
Python中非常使用的6种基本变量的操作与技巧
2022/03/22 Python