vue.js事件处理器是什么


Posted in Javascript onMarch 20, 2017

监听事件

可以用v-on指令监听DOM事件来触发一些javascript代码。

demo:

<div v-on:click="++counter">点击,增加1</div>
<span>{{counter}}</span>
data:{

counter:0

}

方法事件处理器

许多事件处理器的逻辑都很复杂,所以直接把javaScript代码写在v-on指令中是不可行的。因此v-on可以接收一个定义的方法来调用

<div v-on:click="counter()">点击,增加1</div>
<span>{{counter}}</span>
data:{

counter:0

},

method:{


counter:function(){


this.counter++;


}

}

有时也需要在内联语句处理器中访问原生DOM事件,可以用特殊变量$event把它传入方法:

$event 原生事件对象

事件修饰符
在事件处理程序中调用event.preventDefault()或event.stopPropagagation()是非常常见的需求。尽管我们可以在methods中轻松实现这点,但更好的

方式是:methods只是纯粹的数据逻辑,而不是去处理DOM事件的细节。

为了解决这个问题,Vue.js为v-on提供了事件修饰符,通过由(.)表示的指令后缀来调用修饰符。

.stop

.prevent

.capture

.self

.once 

<!-- 阻止单击事件冒泡 -->
<a v-on:click.stop="doThis"></a>
<!-- 提交事件不再重载页面 -->
<form v-on:submit.prevent="onSubmit"></form>
<!-- 修饰符可以串联 -->
<a v-on:click.stop.prevent="doThat"></a>
<!-- 只有修饰符 -->
<form v-on:submit.prevent></form>
<!-- 添加事件侦听器时使用事件捕获模式 -->
<div v-on:click.capture="doThis">...</div>
<!-- 只当事件在该元素本身(而不是子元素)触发时触发回调 -->
<div v-on:click.self="doThat">...</div>

新增

<!--点击事件将只会触发一次-->
<a v-on:click.once="dothis"></a>

不像其他只能对原生的DOM事件起作用的修饰符,.once修饰符还能被用到自定义的组件事件上

按键修饰符
在监听键盘事件时,我们经常需要监听常见的键值。

Vue允许为v-on在监听事件时添加按键修饰符:

<!--只有在keyCode是13时调用vm.submit()-->
<input v-on:keyup.13="submit">

常见的按键还有别名:

<input v-on:keyup.enter="submit">
<input @keyup.enter="submit">

全部的按键别名:

.enter

.tab

.delete

.esc

.space

.up

.down

.left

.right

可以通过全局config.keyCodes对象 自定义案件修饰符别名

//可以使用v-on:keyup.f1
Vue.config.keyCodes.f1=112

按键修饰符  新增

可以用如下修饰符开启鼠标或键盘事件监听,使在按键按下时发生反应。

.ctrl

.alt

.shift

.meta 

注意:在不同系统的键盘上,meta对应的键不一样

为什么在HTML中监听事件
你可能注意到这种事件监听的方式违背了关注点分离的传统理念。不必担心,因为所有的Vue.js事件处理方法和表达式都严格绑定在当前视图的ViewModel上,它不会导致任何维护上的困难。实际上,使用v-on有几个好处:

1 扫一眼HTML模板便能轻松定位在JavaScript代码里对应的方法

2 因为你无须在JavaScript里手动绑定事件,你的viewModel代码可以是非常纯粹的逻辑,和DOM完全解耦,更易于测试。

3 当一个ViewModel被销毁时,所有的事件处理器都会自动被删除,你无须担心如何自己清理它们。

 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript 函数调用规则
Aug 26 Javascript
javascript instanceof 与typeof使用说明
Jan 11 Javascript
跟着JQuery API学Jquery 之三 筛选
Apr 09 Javascript
jQuery版仿Path菜单效果
Dec 15 Javascript
Css3制作变形与动画效果
Jul 24 Javascript
Centos7 中 Node.js安装简单方法
Nov 02 Javascript
canvas快速绘制圆形、三角形、矩形、多边形方法介绍
Dec 29 Javascript
angularjs实现table增加tr的方法
Feb 27 Javascript
js遍历添加栏目类添加css 再点击其它删除css【推荐】
Jun 12 Javascript
vue实现自定义多选按钮
Jul 16 Javascript
react实现复选框全选和反选组件效果
Aug 25 Javascript
详解JavaScript作用域、作用域链和闭包的用法
Sep 03 Javascript
Vue.js事件处理器与表单控件绑定详解
Mar 20 #Javascript
Vue.js基础学习之class与样式绑定
Mar 20 #Javascript
详解Vue中添加过渡效果
Mar 20 #Javascript
JS模拟实现ECMAScript5新增的数组方法
Mar 20 #Javascript
JavaScript 过滤关键字
Mar 20 #Javascript
Extjs表单输入框异步校验的插件实现方法
Mar 20 #Javascript
js实现鼠标拖动功能
Mar 20 #Javascript
You might like
php 魔术方法详解
2014/11/11 PHP
详细解读PHP的Yii框架中登陆功能的实现
2015/08/21 PHP
PHP变量的作用范围实例讲解
2020/12/22 PHP
Expandable &quot;Detail&quot; Table Rows
2007/08/29 Javascript
JavaScript 学习笔记(十一)
2010/01/19 Javascript
详解强大的jQuery选择器之基本选择器、层次选择器
2012/02/07 Javascript
javascript 得到文件后缀名的思路及实现
2020/05/09 Javascript
javascript移动设备Web开发中对touch事件的封装实例
2014/06/05 Javascript
AngularJS入门教程(一):静态模板
2014/12/06 Javascript
js获取json元素数量的方法
2015/01/27 Javascript
JS实现网页标题栏显示当前时间和日期的完整代码
2015/11/02 Javascript
BootStrap的弹出框(Popover)支持鼠标移到弹出层上弹窗层不隐藏的原因及解决办法
2016/04/03 Javascript
js生成随机数(指定范围)的实例代码
2016/07/10 Javascript
Node.js发送HTTP客户端请求并显示响应结果的方法示例
2017/04/12 Javascript
jQuery:unbind方法的使用详解
2017/08/14 jQuery
基于vue+axios+lrz.js微信端图片压缩上传方法
2019/06/25 Javascript
微信小程序中悬浮窗功能的实现代码
2019/08/02 Javascript
django简单的前后端分离的数据传输实例 axios
2020/05/18 Javascript
ES6 async、await的基本使用方法示例
2020/06/06 Javascript
[01:34:42]NAVI vs EG 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
python装饰器简介---这一篇也许就够了(推荐)
2019/04/01 Python
Django 查询数据库并返回页面的例子
2019/08/12 Python
python 图像处理画一个正弦函数代码实例
2019/09/10 Python
python selenium循环登陆网站的实现
2019/11/04 Python
CSS3 实现图形下落动画效果
2020/11/13 HTML / CSS
canvas中普通动效与粒子动效的实现代码示例
2019/01/03 HTML / CSS
女装和独特珠宝:Sundance Catalog
2018/09/19 全球购物
英国书籍、CD、DVD和游戏的第一道德零售商:Awesome Books
2020/02/22 全球购物
公共事业管理本科生求职信
2013/10/07 职场文书
超市中秋节活动方案
2014/02/12 职场文书
银行先进个人事迹材料
2014/05/11 职场文书
天猫活动策划方案
2014/08/21 职场文书
英语教育专业毕业生求职信
2014/08/28 职场文书
单位介绍信格式
2015/01/31 职场文书
党支部考察鉴定意见
2015/06/02 职场文书
position:sticky 粘性定位的几种巧妙应用详解
2021/04/24 HTML / CSS