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

2020-06-13 10:38:57易采站长站整理

一、前言

  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()'