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 相关文章推荐
利用JQuery+EasyDrag 实现弹出可拖动的Div,同时向Div传值,然后返回Div选中的值
Oct 24 Javascript
javascript与webservice的通信实现代码
Dec 25 Javascript
新鲜出炉的js tips提示效果
Apr 03 Javascript
jquery限制输入字数,并提示剩余字数实现代码
Dec 24 Javascript
JS 两个字符串时间的天数差计算
Aug 25 Javascript
jQuery中is()方法用法实例
Jan 06 Javascript
深入理解JavaScript中的预解析
Jan 04 Javascript
详解vuejs几种不同组件(页面)间传值的方式
Jun 01 Javascript
ReactJs设置css样式的方法
Jun 08 Javascript
微信小程序开发之点击按钮退出小程序的实现方法
Apr 26 Javascript
React传值 组件传值 之间的关系详解
Aug 26 Javascript
vue相关配置文件详解及多环境配置详细步骤
May 19 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 代码优化之经典示例
2011/03/24 PHP
PHP仿博客园 个人博客(2) 数据库增添改删
2013/07/05 PHP
mysql_connect localhost和127.0.0.1的区别(网络层阐述)
2015/03/26 PHP
PHP数据库处理封装类实例
2016/12/24 PHP
javascript 日历提醒系统( 兼容所有浏览器 )
2009/04/07 Javascript
jQuery EasyUI API 中文文档 - TreeGrid 树表格使用介绍
2011/11/21 Javascript
JS取request值以及自动执行使用示例
2014/02/24 Javascript
javascript中cookie对象用法实例分析
2015/01/30 Javascript
javascript实现图片轮播效果
2016/01/20 Javascript
深入分析javascript中的错误处理机制
2016/07/17 Javascript
js删除Array数组中指定元素的两种方法
2016/08/03 Javascript
AngularJS实现给动态生成的元素绑定事件的方法
2016/12/14 Javascript
JS正则表达式修饰符中multiline(/m)用法分析
2016/12/27 Javascript
详解angular中如何监控dom渲染完毕
2017/01/03 Javascript
ES6新数据结构Map功能与用法示例
2017/03/31 Javascript
详解Node.js 命令行程序开发教程
2017/06/07 Javascript
JS中把函数作为另一函数的参数传递方法(总结)
2017/06/28 Javascript
JS实现关闭小广告特效
2021/01/29 Javascript
使用Angular9和TypeScript开发RPG游戏的方法
2020/03/25 Javascript
vue实现动态给id赋值,点击事件获取当前点击的元素的id操作
2020/11/09 Javascript
python双向链表实现实例代码
2013/11/21 Python
Python subprocess模块学习总结
2014/03/13 Python
在Python中实现替换字符串中的子串的示例
2018/10/31 Python
pyside+pyqt实现鼠标右键菜单功能
2020/12/08 Python
python hough变换检测直线的实现方法
2019/07/12 Python
python django下载大的csv文件实现方法分析
2019/07/19 Python
pytorch实现Tensor变量之间的转换
2020/02/17 Python
浅谈keras使用预训练模型vgg16分类,损失和准确度不变
2020/07/02 Python
python中用ctypes模拟点击的实例讲解
2020/11/26 Python
雅高酒店中国:Accorhotels.com China
2018/03/26 全球购物
Huda Beauty官方商店:化妆和美容产品
2020/09/05 全球购物
自我介绍演讲稿范文
2014/08/21 职场文书
单位租房协议范本
2014/12/03 职场文书
CSS中em的正确打开方式详解
2021/04/08 HTML / CSS
仅用几行Python代码就能复制她的U盘文件?
2021/06/26 Python
js基于div丝滑实现贝塞尔曲线
2022/09/23 Javascript