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的事件描述
Sep 08 Javascript
jQuery实现简洁的导航菜单效果
Nov 23 Javascript
javascript拖拽应用实例
Mar 25 Javascript
jQuery的promise与deferred对象在异步回调中的作用
May 03 Javascript
JavaScript实现页面定时刷新(定时器,meta)
Oct 12 Javascript
Angular2使用Augury来调试Angular2程序
May 21 Javascript
vue渲染时闪烁{{}}的问题及解决方法
Mar 28 Javascript
JS实现统计字符串中字符出现个数及最大个数功能示例
Jun 04 Javascript
解决Layui 表单提交数据为空的问题
Aug 15 Javascript
vue-cli 构建骨架屏的方法示例
Nov 08 Javascript
jQuery层叠选择器用法实例分析
Jun 28 jQuery
JavaScript 继承 封装 多态实现及原理详解
Jul 29 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
深入file_get_contents与curl函数的详解
2013/06/25 PHP
PHP 正则判断中文UTF-8或GBK的思路及具体实现
2013/11/26 PHP
jQuery获取json后使用zy_tmpl生成下拉菜单
2015/03/27 PHP
php生成无限栏目树
2017/03/16 PHP
2020最新版 PhpStudy V8.1版本下载安装使用详解
2020/10/30 PHP
[原创]js与自动伸缩图片 自动缩小图片的多浏览器兼容的方法总结
2007/03/12 Javascript
js loading加载效果实现代码
2009/11/24 Javascript
node.js中的fs.futimes方法使用说明
2014/12/17 Javascript
javascript面向对象快速入门实例
2015/01/13 Javascript
JQuery 传送中文乱码问题的简单解决办法
2016/05/24 Javascript
浅谈js对象属性 通过点(.) 和方括号([]) 的不同之处
2016/10/29 Javascript
使用JavaScriptCore实现OC和JS交互详解
2017/03/28 Javascript
vue-router 路由基础的详解
2017/10/17 Javascript
javascript浏览器用户代理检测脚本实现方法
2017/10/27 Javascript
Vue cli+mui 区域滚动的实例代码
2018/01/25 Javascript
详解nodejs通过响应回写的方式渲染页面资源
2018/04/07 NodeJs
AngularJS实现动态切换样式的方法分析
2018/06/26 Javascript
关于vue编译版本引入的问题的解决
2018/09/17 Javascript
微信小程序如何访问公众号文章
2019/07/08 Javascript
微信小程序 select 下拉框组件功能
2019/09/09 Javascript
Vue使用路由钩子拦截器beforeEach和afterEach监听路由
2020/11/16 Javascript
[02:47]2018年度DOTA2最佳辅助位选手4号位-完美盛典
2018/12/17 DOTA
python实现简单爬虫功能的示例
2016/10/24 Python
Flask框架信号用法实例分析
2018/07/24 Python
解决Python在导入文件时的FileNotFoundError问题
2020/04/10 Python
优秀员工个人的自我评价
2013/11/29 职场文书
期末自我鉴定
2014/02/02 职场文书
司机工作自我鉴定
2014/09/19 职场文书
离职感谢信
2015/01/21 职场文书
医院合作意向书范本
2015/05/08 职场文书
2015年安置帮教工作总结
2015/05/22 职场文书
毕业生登记表班级意见
2015/06/05 职场文书
中学音乐课教学反思
2016/02/18 职场文书
青年岗位能手事迹材料(2016推荐版)
2016/03/01 职场文书
Python中json.load()和json.loads()有哪些区别
2021/06/07 Python
世界各国短波电台对东亚播送时间频率表(SW)
2021/06/28 无线电