vue中事件绑定加括号和不加括号的区别

  • Post author:
  • Post category:vue




vue中事件绑定加括号和不加括号的区别

@click=“fun”

不带括号、不写实参的fun默认传event (事件对象)

@click=“fun(value)”

只要加括号,无论是否传值,都属于传实参给函数,event (事件对象)就接收不到。

如果需要实参、又需要event (事件对象),就需要手动传入 event (事件对象),如下:

@click=“fun($event, value)”


注:


Vue中的@click和React中的onClick实现原理是不一样的,React onClick必须接收一个函数体,如果加括号绑定,就会将方法执行后的返回值,赋给onClick,因此React onClick不能加括号。

Vue绑定事件是通过 自定义的 $on 方法来实现的;

举例:

带括号的话 生成的代码是:

 on: {
       "click": function($event) {
             fun()
          }
    }

不带括号的话 生成的代码是:

on: { "click": fun}

参考文献:


Vue事件绑定原理



版权声明:本文为qq_42205731原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。