vue的事件处理梳理
一、事件函数
1、v-on绑定click,执行一个函数
<input type="button" v-on:click="test" value="点我"> <!-- click绑定一个函数 -->
2、v-on绑定click执行一个表达式
{{gread}} <input type="button" v-on:click="gread+=1" value="点我"> <!-- click绑定一个表达式 -->
3、v-on绑定click执行一个带有参数的方法,这个参数是vue的属性
{{gread}} <input type="button" v-on:click="click(gread)" value="点我"> <!-- click绑定一个函数,传递一个属性给函数做为参数 -->
需要在方法中接受一个参数
4、v-on绑定一个click事件,执行一个带有一个参数的方法,这个参数是一个字符串
{{gread}} <input type="button" v-on:click="click('hello vue')" value="点我"> <!-- click绑定一个函数,传递一个字符串给函数作为参数 -->
5、v-on绑定的事件执行的函数有一个默认的参数就是event,这个不需要我们执行
<input type="button" v-on:click="testObj" value="点我">
二、事件修饰符
1、prevent修饰符,阻止默认行为
<form v-on:submit.prevent="tijiao">
<input type="submit" value="提交">
</form> <!-- .prevent阻止默认行为的演示,这个默认行为就是刷新 -->
还可用这样,我们不需要带任何方法
<form v-on:submit.prevent>
<input type="submit" value="提交">
</form>
<!-- 还可以只有修饰符,没有函数 -->
2、stop修饰符,阻止冒泡行为
<div class="div1" v-on:click="div1">
<div class="div2" v-on:click.stop="div2"></div>
</div>
看上面的例子,外层div包裹内层div,默认情况下,我们点击内层div,就会执行div2函数,然后执行div1函数,加了stop修饰符后,点击内层div,就只会执行div2函数,不会执行div1函数
3、capture修饰符,捕获的演示
<div class="div1" v-on:click.capture="div1">
<div class="div2" v-on:click.capture="div2"></div>
</div>
<!-- capture捕获的演示,先执行父节点的绑定事件,在执行自己的绑定事件,默认是先执行自己的绑定的事件,后执行父节点绑定的事件 -->
4、self修饰符
<div class="div1" v-on:click.self="div1">
<div class="div2"></div>
</div> <!-- self。只给自己绑定事件,对子元素不会绑定事件,如果没有self修饰符,则点击子元素也会触发div1这个函数 -->
上面的例子,点击div2对应的区域,是不会紫红星div1方法的,如果没有使用self的修饰符,则点击div1和div2的区域,都会执行div1的方法
5、once修饰符,只会执行一次
<div class="div1" v-on:click.once="div1"> <div class="div2"></div>
</div> <!-- once修饰符,意思是这个事件只执行一次 -->
三、键值修饰符
1、常用的键盘的keyCode需要记住
{{mes}}
<input type="text" v-on:keydown="testKey"/>
<!-- 0到9的keyCode分别为48到57
左上右下的keyCode分别为37到40 -->
我们看下testKey这个方法,获取input标签输入的值,然后赋值个mes这个属性
2、我们可以使用下面的方法实现上面一样的效果,使用键值修饰符,只有敲回车键才执行
{{mes}}
<input type="text" v-on:keydown.13="testKeynew"/>
4、还有实现组合键
<!-- 修饰键,可以两个一起按 -->
<input type="text" v-on:keydown.ctrl.13="testKeynew"/>
<input type="text" v-on:keydown.alt.13="testKeynew"/>
<input type="text" v-on:keydown.shift.13="testKeynew"/>
<input type="text" v-on:keydown.meta.13="testKeynew"/>
四、鼠标修饰符
vue的事件处理梳理的更多相关文章
- vue基础——事件处理
监听事件 可以用 v-on 指令监听dom事件,并在触发时运行一些JavaScript代码. 示例: <div id="example-1"> HTML <but ...
- Vue基础知识梳理
1. Vue 实例 1.1 创建一个Vue实例 一个 Vue 应用由一个通过 new Vue 创建的根 Vue 实例,以及可选的嵌套的.可复用的组件树组成.demo 1.2 数据与方法 数据的响应式渲 ...
- 一起学Vue之事件处理
在Vue进行前端开发中,事件监听是必不可少的功能,本文通过简单的小例子,简述v-on的简单用法,仅供学习分享使用,如有不足之处,还请指正. 监听事件 可以用 v-on 指令监听 DOM 事件,并在触发 ...
- Vue.js事件处理
Vue.js事件处理 1.v-on指令 用法如下:使用v-on:指令指定其执行的具体内容或者方法名即可. <button v-on:click='num++'>giao</butto ...
- 前端框架之Vue(7)-事件处理
监听事件 可以用 v-on 指令监听 DOM 事件,并在触发时运行一些 JavaScript 代码. 示例: <div id="example-1"> <butt ...
- 【04】Vue 之 事件处理
4.1. 监听事件的Vue处理 Vue提供了协助我们为标签绑定时间的方法,当然我们可以直接用dom原生的方式去绑定事件.Vue提供的指令进行绑定也是非常方便,而且能让ViewModel更简洁,逻辑更彻 ...
- vue基础---事件处理
(1)事件监听 v-on 指令监听 DOM 事件,并在触发时运行JS代码 <div class="event_area"> {{message}} <button ...
- VUE:事件处理和表单输入绑定
事件处理 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <titl ...
- 浅入深出Vue:事件处理
上一篇的最后留下了一个 v-on的思考,也就是本章的主题:事件处理 为什么需要事件处理 在前端开发中,经常要面对各种表单.按钮.而这里面就住着一个事件:点击 (click). 前端童鞋们肯定不陌生它, ...
随机推荐
- MSVC中C++ UTF8中文编码处理探究
字符编码的问题,上大学那会儿就遇到过,一直都是云里雾里,没太搞清楚.最近又遇到了问题,想在C++的控制台上输出Utf-8编码的汉字字节流.尝试了好多次都是乱码,后来花了些时间查查资料,又和同事交流了一 ...
- mongoDB工具类以及测试类【java】
java操作mongo工具类 package Utils; import com.mongodb.MongoClient; import com.mongodb.MongoCredential; im ...
- solr中facet及facet.pivot理解(整合两篇文章保留参考)
Facet['fæsɪt]很难翻译,只能靠例子来理解了.Solr作者Yonik Seeley也给出更为直接的名字:导航(Guided Navigation).参数化查询(Paramatic Searc ...
- 命令纠正工具 thefuck 的简单使用
在unix系列的系统中,总会出现 命令拼写或者执行错误的情况, 比如 把 python 写成了pythou, cd 到一个不存在的目录,执行任务的权限 不够的问题, 这是心里 总是 在 fuck,但是 ...
- python 内建函数__new__的单例模式
今天好奇__init__和__new__的区别是什么? 我了解到: __init__:只是单纯的返回一个类对象的实例,是在__new__之后调用的 __new__:创建一个类对象实例, class S ...
- SAP S/4 HANA 1709 Fully Activated Appliance
SAP S4HANA 1709 Fully Activated Appliance:简单来说比IDES版本功能更加强大,内置三个集团,分别用于测试不同业务.内置官方的BP内容 安装需要500G SSD ...
- 灰熊:在这6个信息流和DSP平台投放后,我总结了这些血泪经验!
笔者有幸参与公司的一款重度游戏的推广,推广以来市面上主流的信息流和DSP 平台都投过一番,今天就零零碎碎地讲讲各个平台的特点以及用户质量. 需要提前说明的是,文章的观点仅限于各个平台的 iOS 流量, ...
- Jmeter安装使用
Jmeter的安装与使用 首先,安装Jmeter需要JDK https://www.oracle.com/technetwork/java/javase/downloads/index.html 配置 ...
- NFS存储服务
NFS存储服务笔记======================================================================NFS共享存储是什么: 英文名-Netwo ...
- 路由对象route
路由对象是不可变 (immutable) 的,每次成功的导航后都会产生一个新的对象.不过你可以 watch (监测变化) 它. 通过 this.$route 访问当前路由,还可以通过router.ma ...