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 - HTML的request类
Jan 09 Javascript
Prototype Selector对象学习
Jul 23 Javascript
(jQuery,mootools,dojo)使用适合自己的编程别名命名
Sep 14 Javascript
Javascript公共脚本库系列(一): 弹出层脚本
Feb 24 Javascript
让你的CSS像Jquery一样做筛选的实现方法
Jul 10 Javascript
浅析tr的隐藏和显示问题
Mar 05 Javascript
js动态控制table的tr、td增加及删除的具体实现
Apr 30 Javascript
JavaScript数组方法大全(推荐)
Jul 05 Javascript
jQuery图片拖动组件Dropzone用法示例
Jan 17 Javascript
JS实现移动端整屏滑动的实例代码
Nov 10 Javascript
.vue文件 加scoped 样式不起作用的解决方法
May 28 Javascript
详解vue-cli下ESlint 配置说明
Sep 03 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
国产动画《伍六七》原声大碟大卖,啊哈娱乐引领音乐赋能IP的新尝试
2020/03/08 国漫
追求程序速度,而不是编程的速度
2008/04/23 PHP
php下intval()和(int)转换使用与区别
2008/07/18 PHP
支付宝接口开发集成支付环境小结
2015/03/17 PHP
PHP 9 大缓存技术总结
2015/09/17 PHP
PHP实现可自定义样式的分页类
2016/03/29 PHP
PHP面试常用算法(推荐)
2016/07/22 PHP
php入门教程之Zend Studio设置与开发实例
2016/09/09 PHP
简单解决微信文章图片防盗链问题
2016/12/17 PHP
php过滤输入操作之htmlentities与htmlspecialchars用法分析
2017/02/17 PHP
php正则判断是否为合法身份证号的方法
2017/03/16 PHP
php探针不显示内存解决方法
2019/09/17 PHP
document.all与WEB标准
2020/05/13 Javascript
jQuery获得IE版本不准确webbrowser的解决方法
2014/02/23 Javascript
深入浅析NodeJs并发异步的回调处理
2015/12/21 NodeJs
jQuery获取this当前对象子元素对象的方法
2016/11/29 Javascript
Bootstrap CSS组件之分页(pagination)和翻页(pager)
2016/12/17 Javascript
把vue-router和express项目部署到服务器的方法
2018/02/21 Javascript
基于webpack.config.js 参数详解
2018/03/20 Javascript
kafka调试中遇到Connection to node -1 could not be established. Broker may not be available.
2019/09/17 Javascript
vue 使用v-for进行循环的实例代码详解
2020/02/19 Javascript
Nodejs实现WebSocket代码实例
2020/05/19 NodeJs
Node.js中出现未捕获异常的处理方法
2020/06/29 Javascript
用Python给文本创立向量空间模型的教程
2015/04/23 Python
Python字符串、元组、列表、字典互相转换的方法
2016/01/23 Python
python 网络爬虫初级实现代码
2016/02/27 Python
利用Python中SocketServer 实现客户端与服务器间非阻塞通信
2016/12/15 Python
Python requests库用法实例详解
2018/08/14 Python
python 实现查询Neo4j多节点的多层关系
2019/12/23 Python
节日快乐! Python画一棵圣诞树送给你
2019/12/24 Python
Django+Celery实现动态配置定时任务的方法示例
2020/05/26 Python
Python实现Kerberos用户的增删改查操作
2020/12/14 Python
女装和独特珠宝:Sundance Catalog
2018/09/19 全球购物
教师党员学习十八届四中全会思想汇报
2014/11/03 职场文书
小学优秀班主任材料
2014/12/17 职场文书
高中化学教学反思
2016/02/22 职场文书