v-on传递参数的问题

本文详细探讨了Vue.js中v-on指令用于事件处理时的参数传递。通过实例代码展示了如何在事件调用时传递参数,包括不带参数、单一参数以及多个参数的情况。特别指出,当事件方法需要浏览器的event对象时,可以使用`$event`关键字来获取。文章还强调了未定义的参数会导致错误,并提供了示例输出来说明参数传递的效果。
摘要由CSDN通过智能技术生成

v-on传递参数的问题

关于v-on的参数,详解如下:
代码如下:

    <button v-on:click="aaa()">+</button>
    <button v-on:click="bbb()">-</button>
    <button @click="ccc(222)">~</button>
    <button @click="fff(event)">#</button>
    <button @click="ddd(123,$event)">+</button>
    <button @click="eee(2,event)">%</button>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script>
    let app = new Vue({
        el: "#app",
        data: {
            message: 666666
        },
        methods: {
            aaa: function () {
                console.log(this.message, event)
            },
            bbb: function () {
                console.log(this.message, event)
            },
            ccc: function (a, event) {
                console.log(a, event)
            },
            ddd: function (abc,event) {
                console.log(abc,event)
            },
            eee: function (a, event) {
                console.log(a, event)
            },
            fff: function () {
                console.log(event)
            }
        }
    })
</script>
  1. 当事件调用的方法不带参数时,有没有括号都可以进行参数调用,所以在调用aaa,bbb两个方法时,打印结果如下:
    他们呢他们都可以调用方法并且会获得浏览器产生的event事件。
    【注】:在事件定义时写方法省略了小括号,但方法本身需要一个参数,这个时候,vue会默认将浏览器产生的event事件对象作为参数传递到方法中。

  2. 当含有一个参数时,我们调用ccc,fff方法,结果如下:
    值为222时,打印结果如下: 在这里插入图片描述
    当值为event时,打印结果如下: 在这里插入图片描述
    而当我们将两个参数都进行传值时,结果如下:
    在这里插入图片描述
    由此可见,如果在data中没有定义event,我们将event作为参数传进方法中时,函数会将event作为参数或者方法执行,找不到时将会报错。

  3. 如何在事件调用方法时,手动获取到浏览器参数的event对象?使用**$event**。我们调用方法ddd,打印结果如下:
    在这里插入图片描述
    通过此方法将可以获取到。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值