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事件绑定原理

Logo

前往低代码交流专区

更多推荐