vue.js中事件的学习

在vue.js中使用v-on可以给标签添加事件
	<input type="button" value="按钮" @click="show">
var vm = new Vue({
  el: "#app",
  data:{

  },
  methods:{
      show:function(){
          alert("hello");
      }
  }
})

注:@click=“show” 等价于 v-on:click=“show”

事件修饰符
  • .stop阻止冒泡
    由于事件具有冒泡性质,如果我们要阻止冒泡,可以使用.stop
    例如:

    <div id="app">
        <div class="inner" >
            <!-- 
                1| .stop 阻止冒泡
                2| .prevent 阻止事件发生
                3| .capture 捕捉下级传递的事件,在捕捉的事件执行的之前先执行自身的事件
                4| .self 只有通过点击自己触发的事件才会触发,传递过来的都不会触发
                5| .once 触发一次
             -->
            <input type="button" value="按钮" @click.stop="btnHandler"> 
         </div>
    </div>
    
    var vm1 = new Vue({ 
         el:"#app",
         data:{},
         methods: {
             btnHandler(){
                 console.log("触发了按钮的click")
             }
         }
     });
    
  • .capture捕捉下级传递的事件,在捕捉的事件执行的之前先执行自身的事件

    <div id="app">
    	<div class="inner" @click.capture="div2Handler">
    	    <input type="button" value="按钮" @click="btnHandler"> 
    	</div>
    </div>
    
     var vm1 = new Vue({ 
         el:"#app",
         data:{
    
         },
         methods: {
             div2Handler(){
                 console.log("触发了div2的click")
             },
             btnHandler(){
                 console.log("触发了按钮的click")
             }
         }
     });
    

    点击按钮
    在这里插入图片描述

  • .prevent阻止事件发生

  • .self 只有通henhao过点击自己触发的事件才会触发,传递过来的都不会触发

  • .once 触发一次

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值