作者:DDFE
链接:https://www.zhihu.com/question/55753541/answer/146504270
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
最后,到底需不需要加括号的话,一般就是要看参数的情况了:
1、不需要参数或者默认参数的情况下,用一个定义的方法名即可。此时有一个需要注意的就是默认参数的情况,对于原生的事件处理的话,参数就只有一个:事件对象event;而对于自定义事件的话,则是在 emit 的时候传入的参数是什么,这个定义的方法被调用的时候的参数也是一一对应的。
2、自定义参数,这个参数有可能是你在HTML上直接写的`greet(‘xx‘)`,也有可能是在特殊上下文中得到的,例如说在 `v-for` 内部,可以传入当前循环项;这种情况下则是当一段代码片段来执行的,此时正是因为包裹的函数是有`$event`参数的,所以可以使用这个;你可能还会发现此时还可以这样写:`greet(arguments)`,传入的就是`arguments`对象,把调用定义方法的参数在形式上是可以由多个变为一个的。