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中after的两种用法实例
Jul 03 Javascript
JavaScript前端图片加载管理器imagepool使用详解
Dec 29 Javascript
JQuery动态添加Select的Option元素实现方法
Aug 29 Javascript
js模糊查询实例分享
Dec 26 Javascript
jQuery对table表格进行增删改查
Dec 22 Javascript
JavaScript ES6中export、import与export default的用法和区别
Mar 14 Javascript
jQuery模拟爆炸倒计时功能实例代码
Aug 21 jQuery
webpack踩坑之路图片的路径与打包
Sep 05 Javascript
详解Vue源码学习之callHook钩子函数
Jul 25 Javascript
如何使用CSS3+JQuery实现悬浮墙式菜单
Jun 18 jQuery
弱类型语言javascript开发中的一些坑实例小结【变量、函数、数组、对象、作用域等】
Aug 07 Javascript
基于element-ui对话框el-dialog初始化的校验问题解决
Sep 11 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
Ajax+PHP边学边练 之五 图片处理
2009/12/03 PHP
php中将地址生成迅雷快车旋风链接的代码[测试通过]
2011/04/20 PHP
网页的分页下标生成代码(PHP后端方法)
2016/02/03 PHP
简单概括PHP的字符串中单引号与双引号的区别
2016/05/07 PHP
php实现获取农历(阴历)、节日、节气的类与用法示例
2017/11/20 PHP
PHP排序算法之归并排序(Merging Sort)实例详解
2018/04/21 PHP
Laravel框架数据库迁移操作实例详解
2020/04/06 PHP
js中的屏蔽的使用示例
2013/07/30 Javascript
javascript中如何处理引号编码&amp;#034;
2013/08/15 Javascript
Jquery基础教程之DOM操作
2015/08/19 Javascript
jquery实现的Banner广告收缩效果代码
2015/09/02 Javascript
全面解析Bootstrap排版使用方法(文字样式)
2015/11/30 Javascript
网页中JS函数自动执行常用三种方法
2016/03/30 Javascript
Bootstrap 折叠(Collapse)插件用法实例详解
2016/06/01 Javascript
Bootstrap下拉菜单效果实例代码分享
2016/06/30 Javascript
微信小程序-图片、录音、音频播放、音乐播放、视频、文件代码实例
2016/11/22 Javascript
浅谈基于Vue.js的移动组件库cube-ui
2017/12/20 Javascript
JavaScript中arguments和this对象用法分析
2018/08/08 Javascript
深入理解Vue router的部分高级用法
2018/08/15 Javascript
详解JavaScript的内存空间、赋值和深浅拷贝
2019/04/17 Javascript
微信公众号开发之微信支付代码记录的实现
2019/10/16 Javascript
Python使用迭代器打印螺旋矩阵的思路及代码示例
2016/07/02 Python
python3写爬取B站视频弹幕功能
2017/12/22 Python
Python实现的建造者模式示例
2018/08/06 Python
Python求解正态分布置信区间教程
2019/11/20 Python
python垃圾回收机制(GC)原理解析
2019/12/30 Python
新建文件时Pycharm中自动设置头部模板信息的方法
2020/04/17 Python
css3 实现元素弧线运动的示例代码
2020/04/24 HTML / CSS
HTML5超文本标记语言的实现方法
2020/09/24 HTML / CSS
新加坡交友网站:be2新加坡
2019/04/10 全球购物
绝对经典成功的大学生推荐信
2013/11/08 职场文书
家长给小学生的评语
2014/01/30 职场文书
高三霸气励志标语
2014/06/24 职场文书
2014年计生工作总结
2014/11/21 职场文书
vue实现书本翻页动画效果实例详解
2022/04/08 Vue.js
高通2023 年将发布高性能PC处理器
2022/04/29 数码科技