Vue(2)-v-on参数问题, v-on修饰符

v-on参数问题

  • 如果@click不需要额外的参数,该方法后的()可以不添加
  • 如果方法本身中有一个参数,那么会默认将原生事件event参数传递进去
  • 如果需要同时传入某个参数,同时需要event时,可以通过$event传入事件
<div id="app">
    <!--undefine-->
    <button @click="btn1Click()">btn1</button>
    <!--默认传入mouseEvent对象-->
    <button @click="btn2Click">btn2</button>
    <!--需要自己传入参数,有需要event对象-->
    <button @click="btn3Click(123,$event)">btn3</button>
</div>
<script>
    const vm = new Vue({
      el: '#app',
      methods: {
        btn1Click: function (a) { console.log(a);},
        btn2Click: function (a) { console.log(a);},
        btn3Click: function (a,event) { console.log(a,event);},
      }
    })
</script>

v-on修饰符

事件冒泡? => 点击btn时div也被点击

<div id="app">
  <div @click="divClick">
    aaa
    <button @click="btnClick">btn1</button>
  </div>
</div>
<script>
  const vm = new Vue({
    el: '#app',
    methods: {
      btnClick: function () { console.log('btnClick');},
      divClick: function () { console.log('divClick');},
    }
  })
</script>

这样写即可

    <button @click.stop="btnClick">btn1</button>

阻止表单自动提交,自己手动提交,重写函数

<form action="kkk">
  <input type="submit"  @click.prevent="submitClick"  value="submit"/>
</form>

键盘修饰符

<input @keyup.enter="onEnter">
<input @keyup.13="onEnter">
<button @click.once >只触发一次</button>

@click.native 监听组件根原生原生事件

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值