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 相关文章推荐
巧妙破除网页右键禁用的十大绝招
Aug 12 Javascript
js获取控件位置以及不同浏览器中的差别介绍
Aug 08 Javascript
JS可以控制样式的名称写法一览
Jan 16 Javascript
JavaScript获取图片真实大小代码实例
Sep 24 Javascript
基于jQuery实现表单提交验证
Nov 24 Javascript
jQuery中bind()方法用法实例
Jan 19 Javascript
js实现人民币大写金额形式转换
Apr 27 Javascript
jQuery通过ajax方法获取json数据不执行success的原因及解决方法
Oct 15 Javascript
jquery广告无缝轮播实例
Jan 05 Javascript
js实现上传并压缩图片效果
Jan 10 Javascript
vue.js提交按钮时进行简单的if判断表达式详解
Aug 08 Javascript
在antd Form表单中select设置初始值操作
Nov 02 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脚本使WordPress的主题支持Widget侧边栏
2015/12/14 PHP
php gethostbyname获取域名ip地址函数详解
2010/01/24 Javascript
个人总结的一些JavaScript技巧、实用函数、简洁方法、编程细节
2015/06/10 Javascript
举例详解AngularJS中ngShow和ngHide的使用方法
2015/06/19 Javascript
JS实现统计复选框选中个数并提示确定与取消的方法
2015/07/01 Javascript
JavaScript实战之带收放动画效果的导航菜单
2016/08/16 Javascript
详解JavaScript权威指南之对象
2016/09/27 Javascript
js闭包用法实例详解
2016/12/13 Javascript
node.JS md5加密中文与php结果不一致的解决方法
2017/05/05 Javascript
浅谈vue.js中v-for循环渲染
2017/07/26 Javascript
vue引入jq插件的实例讲解
2017/09/12 Javascript
jQuery实现的两种简单弹窗效果示例
2018/04/18 jQuery
React实现全局组件的Toast轻提示效果
2018/09/21 Javascript
JavaScript设计模式之代理模式实例分析
2019/01/16 Javascript
JS实现简易计算器
2020/02/14 Javascript
vue+vant实现购物车全选和反选功能
2020/11/17 Vue.js
[01:10:57]Liquid vs OG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python求质数的3种方法
2018/09/28 Python
用python 实现在不确定行数情况下多行输入方法
2019/01/28 Python
Python模块、包(Package)概念与用法分析
2019/05/31 Python
Python定时任务APScheduler原理及实例解析
2020/05/30 Python
jupyter 添加不同内核的操作
2021/02/06 Python
HTML5 新标签全部总汇(推荐)
2016/06/13 HTML / CSS
压铸汽车模型收藏家:Diecastmodelswholesale.com
2016/12/21 全球购物
计算机专业个人简短的自我评价
2013/10/23 职场文书
经贸韩语专业大学生职业规划
2014/02/14 职场文书
党员公开承诺书范文
2014/03/25 职场文书
幼儿园运动会口号
2014/06/07 职场文书
校园学雷锋广播稿
2014/10/08 职场文书
中秋节慰问信
2015/02/15 职场文书
妈妈再爱我一次观后感
2015/06/08 职场文书
教师节领导致辞
2015/07/29 职场文书
2015年第31个教师节致辞
2015/07/31 职场文书
2019七夕节祝福语36句,快来收藏吧
2019/08/06 职场文书
php中配置文件保存修改操作 如config.php文件的读取修改等操作
2021/05/12 PHP
Python docx库删除复制paragraph及行高设置图片插入示例
2022/07/23 Python