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向.ashx文件post中文乱码问题的解决方法
Mar 28 Javascript
JQuery 获取json数据$.getJSON方法的实例代码
Aug 02 Javascript
js树插件zTree获取所有选中节点数据的方法
Jan 28 Javascript
详解JavaScript中的forEach()方法的使用
Jun 08 Javascript
jQuery解决input元素的blur事件和其他非表单元素的click事件冲突问题
Aug 15 Javascript
利用 spin.js 生成等待效果(js 等待效果)
Jun 25 Javascript
详解vue-router 初始化时做了什么
Jun 11 Javascript
ES6 系列之 WeakMap的使用示例
Aug 06 Javascript
Webpack之tree-starking 解析
Sep 11 Javascript
微信小程序实现左滑修改、删除功能
Oct 19 Javascript
Vue.js 中 axios 跨域访问错误问题及解决方法
Nov 21 Javascript
微信小程序webview 脚手架使用详解
Jul 22 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
用Socket发送电子邮件(利用需要验证的SMTP服务器)
2006/10/09 PHP
php7 安装yar 生成docker镜像
2017/05/09 PHP
PHP ADODB实现分页功能简单示例
2018/05/25 PHP
PHP中使用mpdf 导出PDF文件的实现方法
2018/10/22 PHP
php高性能日志系统 seaslog 的安装与使用方法分析
2020/02/29 PHP
javascript call方法使用说明
2010/01/11 Javascript
IE6下CSS图片缓存问题解决方法
2010/12/09 Javascript
js open() 与showModalDialog()方法使用介绍
2013/09/10 Javascript
JS阻止冒泡事件以及默认事件发生的简单方法
2014/01/17 Javascript
jquery获取颜色在ie和ff下的区别示例介绍
2014/03/28 Javascript
JavaScript 获取任一float型小数点后两位的小数
2014/06/30 Javascript
javascript实现将文件保存到本地方法汇总
2015/07/26 Javascript
jQuery+html5+css3实现圆角无刷新表单带输入验证功能代码
2015/08/21 Javascript
在windows上用nodejs搭建静态文件服务器的简单方法
2016/08/11 NodeJs
Jquery调用iframe父页面中的元素及方法
2016/08/23 Javascript
js实现文字选中分享功能
2017/01/25 Javascript
jQuery自定义多选下拉框效果
2017/06/19 jQuery
微信小程序上传图片到服务器实例代码
2017/11/07 Javascript
原生js封装的ajax方法示例
2018/08/02 Javascript
node.js express捕获全局异常的三种方法实例分析
2019/12/27 Javascript
vue相关配置文件详解及多环境配置详细步骤
2020/05/19 Javascript
vue mvvm数据响应实现
2020/11/11 Javascript
NodeJS配置CORS实现过程详解
2020/12/02 NodeJs
详细介绍Python的鸭子类型
2016/09/12 Python
[原创]教女朋友学Python(一)运行环境搭建
2017/11/29 Python
使用Python 正则匹配两个特定字符之间的字符方法
2018/12/24 Python
用python3 urllib破解有道翻译反爬虫机制详解
2019/08/14 Python
Python 生成器,迭代,yield关键字,send()传参给yield语句操作示例
2019/10/12 Python
北美领先的智能产品购物网站:Wellbots
2018/06/11 全球购物
彪马法国官网:PUMA法国
2019/12/15 全球购物
党员教师工作决心书
2014/03/13 职场文书
会议室标语
2014/06/21 职场文书
小学国旗下的演讲稿
2014/08/28 职场文书
幼儿园重阳节活动总结
2015/05/05 职场文书
2016年“5.12”护士节致辞
2015/07/31 职场文书
GTX1660显卡搭配显示器推荐
2022/04/19 数码科技