何时使用'<event>'(事件,实例)以及何时使用'<event>':function(event)?

时间:2016-11-09 17:06:35

标签: meteor

我是meteor的新手,我已经按照不同的教程解释和使用不同的东西。

似乎有两种处理事件的方法。例如,如果我想管理

标记上的点击,则以下两种方法都有效:

这个出现在hello world meteor app

'click p'(event, instance) {
 }

这是本教程中使用的那个。

'click p': function(event){
 }

两者都很完美,如果我同时使用,最后一个将有效。奇怪的是颜色不一样(在崇高的文字上),第二种颜色通常是js颜色,但第一种只有绿色,橙色,其他一切都是白色的(在monokai上)。

我很想使用第二个来获得更好的可见度,但我知道我不应该根据这个做出选择。哪一个是正确的,何时?

1 个答案:

答案 0 :(得分:3)

底线:如果您只需要event,则无关紧要。

函数之间存在2种语法差异,但没有实质性区别:

  1. 您正在使用的符号:

    funcName(arg1, arg2)
    

    VS

    funcName: function(arg1, arg2)
    

    您在编辑器中看到的突出显示颜色差异可能与简写符号有关。这个shorthand notation ES2015 的一个功能,是相对较新版本的JS,两者功能相同。它只是语法糖

  2. arity (参数数量) 该函数用作事件处理程序作为回调。由于JavaScript的动态特性,任何函数都可以使用任意数量的参数调用。参数根据函数的定义分配给参数,并且通过arguments pseudo-array也可以动态地用于被调用的函数。

  3. 将始终使用2个参数调用回调。在带有1个参数的版本中,第二个参数不会绑定到函数中的任何标识符。如果您不需要模板实例,则可以省略第二个参数。