VUE学习之监听事件

一,按钮监听事件
1,引入Vue.min.js:
2,v-on:click=" “与 @click=” "具有相同作用:

(1)v-on:click="click"
<!DOCTYPE html>
<html lang="en">
<script src="../js/vue.min.js"></script>
<div id="div1">
    <div>一共点击了{{countNum}}</div>
    <button v-on:click="click">点击</button>
</div>
<script>
    new Vue({
        el:'#div1',
        data:{
            countNum:0
        },
        methods:{
            click:function () {
                this.countNum+=2;
            }
        }
    })
</script>
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
</html>

(2)使用符号“@” 代替v-on:

 <button  @click="click">点击</button>

二,事件修饰符(.stop/.captrue/.once/.self/.prevent)
1,事件冒泡:在讲事件修饰符之前,先了解它是什么?
冒泡:页面因为是由文档流即dom树组成的,当我们触发的时候,这个事件就像这个气泡一样,从dom树的底层,一层一层往上面传递,一直传递到dom的根节点。如果子元素和父级元素触发的是相同事件的时候,当子元素被触发的时候父元素也会被触发,这就是冒泡的基本原理。
2,举个栗子:
前提:有一个层层嵌套的div (下面的列子也是看了how2j站长才想到):
在这里插入图片描述
(1).stop。在id=“me” 中添加@click.stop
部分代码:

  <div id="content">
    <div id="grandfather" @click="click">grandfather
      <div id="father" @click="click">father
        <div id="me" @click.stop="click">me
         <div id="son" @click="click">
           son
         </div>
      </div>
     </div>
    </div>

</div>
<script>
    new Vue({
        el:'#content',
        methods:{
                click:function () {
                this.id= event.currentTarget.id;
                alert(this.id)
            }
        }
    })
</script>
     结果是:当点击son 时,只会弹出 son ,me。不会再从底部弹出son一直到grandfather了

(2).capture。再id为“grandfather” 中,添加@click.capture:

   <div id="grandfather" @click.capture="click">grandfather

结果是:当点击除了grandfather外先会弹出grandfather。再会从弹出其他id( alert(this.id) )

(3).once。再id为“me” 中,添加@click.once:

   <div id="me" @click.once="click">me

结果是:这样me再被点击一次之后,就不会再监听到id="me"的click了,其他的id仍然能被监听弹出id( alert(this.id) )

(4).self。再id为“father” 中,添加@click.self:

   <div id="father" @click.self="click">father

结果是:这样点击son 和 me都不会导致其触发click事件,只有点击father自己,才会导致事件发生。

(5).prevent ,通过在 click 后面添加 .prevent 可以阻止页面刷新

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值