首页 > 语言 > JavaScript > 正文

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

2024-05-06 15:37:42
字体:
来源:转载
供稿:网友

一、前言

  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 ,因为后俩个还是冒泡模式下触发的事件。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选