vue实现绑定事件的方法实例代码详解


Posted in Javascript onJune 20, 2019

一、前言

  vuejs中的事件绑定,使用<v-on:事件名 = 函数名>来完成的,这里函数名是定义在Vue实例中的methods对象中的,Vue实例可以直接访问其中的方法。

二、事件绑定方式

1、 直接在标签中写js方法

 <button v-on:click="alert('hi')">执行方法的第一种写法</button>

2、调用method的办法

<button v-on:click="run()">执行方法的第一种写法</button>
 
  <button @click="run()">执行方法的 简写 写法</button>
export default {  
  data () { 
  return {
   msg: '你好vue',
   list:[]  
  }
  },
  methods:{
   run:function(){
    alert('这是一个方法');
    }
   }
 }

(1)方法传参,方法直接在调用时在方法内传入参数

<button @click="deleteData('111')">执行方法传值111</button>
  <button @click="deleteData('222')">执行方法传值2222</button>
 deleteData(val){
   alert(val);
  },

(2)传入事件对象

<button data-aid='123' @click="eventFn($event)">事件对象</button>
eventFn(e){
   console.log(e);
   // e.srcElement dom节点
   e.srcElement.style.background='red';
   console.log(e.srcElement.dataset.aid); /*获取自定义属性的值*/
  }

三、事件修饰符

1、stop  //阻止事件继续传播 即阻止它的捕获和冒泡过程

方法一: @click='show($event)'    我们有了事件对象后,我们函数中是不是就可以利用原生中的e.cancelBubble=true

方法二: @click.stop='show()'    只要在事件后面加 .stop  就可以阻止事件冒泡

举个例子:

实例:如下点击内部点击,阻止了冒泡过程,即只执行tz这个方法,如果不加.stop,先执行tz方法,后执行gett方法。即通过了冒泡这个过程。

<div v-on:click="gett">
 外部点击
 <div v-on:click.stop="tz">内部点击</div>
</div>

2、prevent    //阻止默认事件:

方法一: @click='show($event)'    我们有了事件对象后,我们函数中是不是就可以利用原生中的 e.preventDefault();

方法二: @click.prevent='show()'   只要在事件后面加 .prevent  就可以阻止默认事件。

举个例子:阻止了a标签的默认刷新

<a href="" v-on:click.prevent>点击</a>

3、capture // 添加事件监听器时使用事件捕获模式,即在捕获模式下触发

实例:在点击最里层的点击6时,gett方法先执行,因为gett方法在捕获模式执行的,先与冒泡事件。下列执行顺序 geet->set->tz ,因为后俩个还是冒泡模式下触发的事件。

<div v-on:click.capture="gett">外部点击5
 <div v-on:click="tz">内部点击5
  <div v-on:click="set">点击6</div>
 </div>
</div>

4、self //当前元素自身时触发处理函数时才会触发函数

原理:是根据event.target确定是否当前元素本身,来决定是否触发的事件/函数

实例:如果点击内部点击2,冒泡不会执行gett方法,因为event.target指的是内部点击2的dom元素,不是外部点击1的,所以不会触发自己的点击事件。

<div v-on:click.self="gett">
 外部点击1
 <div v-on:click="tz">内部点击2</div>
</div>

5、once //只触发一次

实例:

<div  v-on:click.once="tz">once</div>

6、键盘事件

方法一:@keydown='show()'    

当然我们传个$event  也可以在函数中获 ev.keyCode

if(ev.keyCode==13){
 alert('你按了回车键!')
}

方法二:

<input type="text" @keyup.enter="show()">回车执行
 <input type="text" @keydown.up='show()' >上键执行
 <input type="text" @keydown.down='show()' >下键执行
 <input type="text" @keydown.left='show()' >左键执行
 <input type="text" @keydown.right='show()' >右键执行

总结

以上所述是小编给大家介绍的vue实现绑定事件的方法实例代码详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
Extjs 几个方法的讨论
Jan 28 Javascript
javascript设计模式 封装和信息隐藏(上)
Jul 24 Javascript
基于JQuery的模拟苹果桌面Dock效果(稳定版)
Oct 15 Javascript
JavaScript转换农历类实现及调用方法
Jan 27 Javascript
js实现仿qq消息的弹出窗效果
Jan 06 Javascript
浅谈JQ中mouseover和mouseenter的区别
Sep 13 Javascript
layer实现弹窗提交信息
Dec 12 Javascript
AngularJS过滤器filter用法总结
Dec 13 Javascript
jquery实现刷新随机变化样式特效(tag标签样式)
Feb 03 Javascript
JavaScript之排序函数_动力节点Java学院整理
Jun 30 Javascript
JavaScript中递归实现的方法及其区别
Sep 12 Javascript
JavaScript RegExp 对象用法详解
Sep 24 Javascript
javascript实现5秒倒计时并跳转功能
Jun 20 #Javascript
JS实现的简单tab切换功能完整示例
Jun 20 #Javascript
Vue 页面权限控制和登陆验证功能的实例代码
Jun 20 #Javascript
jQuery实现文本显示一段时间后隐藏的方法分析
Jun 20 #jQuery
javascript获取select值的方法完整实例
Jun 20 #Javascript
node基于async/await对mysql进行封装
Jun 20 #Javascript
JavaScrip数组去重操作实例小结
Jun 20 #Javascript
You might like
php使用GD创建保持宽高比缩略图的方法
2015/04/17 PHP
修改PHP脚本使WordPress拦截垃圾评论的方法示例
2015/12/10 PHP
PHP高精确度运算BC函数库实例详解
2017/08/15 PHP
php 截取中英文混合字符串的方法
2018/05/31 PHP
jquery入门—选择器实现隔行变色实例代码
2013/01/04 Javascript
js replace正则表达式应用案例讲解
2013/01/17 Javascript
使用javascript:将其它类型值转换成布尔类型值的解决方法详解
2013/05/07 Javascript
js采用map取到id集合组并且实现点击一行选中一行
2013/12/16 Javascript
JS控制图片等比例缩放的示例代码
2013/12/24 Javascript
更快的异步执行(setTimeout多浏览器)
2014/08/12 Javascript
javascript执行环境及作用域详解
2016/05/05 Javascript
jquery实现图片上传前本地预览功能
2016/05/10 Javascript
Chrome不支持showModalDialog模态对话框和无法返回returnValue问题的解决方法
2016/10/30 Javascript
js读取json文件片段中的数据实例
2017/03/09 Javascript
关于vuex的学习实践笔记
2017/04/05 Javascript
通过jquery获取上传文件名称、类型和大小的实现代码
2018/04/19 jQuery
vue 使用html2canvas将DOM转化为图片的方法
2018/09/11 Javascript
vue上传图片到oss的方法示例(图片带有删除功能)
2018/09/27 Javascript
vue实现添加与删除图书功能
2018/10/07 Javascript
Node.js 进程平滑离场剖析小结
2019/01/24 Javascript
Angular2使用SVG自定义图表(条形图、折线图)组件示例
2019/05/10 Javascript
JS实现导航栏楼层特效
2020/01/01 Javascript
JavaScript实现左右滚动电影画布
2020/02/06 Javascript
Vue+Vuex实现自动登录的知识点详解
2020/03/04 Javascript
vue和小程序项目中使用iconfont的方法
2020/05/19 Javascript
使用Python中的线程进行网络编程的入门教程
2015/04/15 Python
Python中几个比较常见的名词解释
2015/07/04 Python
对Pytorch中nn.ModuleList 和 nn.Sequential详解
2019/08/18 Python
Python3.7将普通图片(png)转换为SVG图片格式(网站logo图标)动起来
2020/04/21 Python
Django路由层URLconf作用及原理解析
2020/09/24 Python
StubHub新加坡:购买和出售全球活动门票
2017/03/10 全球购物
外企办公室竞聘演讲稿
2013/12/29 职场文书
气象学专业个人求职信
2014/03/15 职场文书
党的群众路线整改落实情况汇报
2014/10/28 职场文书
2016年入党心得体会范文
2016/01/23 职场文书
干货:如何写好观后感 !
2019/05/21 职场文书