假设我们使用@click获得了一个元素。通过它的名称传递函数和使用它的调用之间的真正区别是什么,因为两种方式都有效。它是否为呼叫创造了另一个抽象级别的发动机?是一种方式吗?
<element @click="functionName"></element>
<element @click="functionName()"></element>
答案 0 :(得分:2)
如果使用其名称,则会将Event对象传递给该函数。如果您需要访问event.target,这非常有用。
<element @click="functionName"></element>
functionName(x){
console.log(x)
}
output (example as it'll change based on the event):
MouseEvent {isTrusted: true, screenX: 494, screenY: 88, clientX: 494, clientY: 22, …}
如果引用完整函数调用,则明确声明传递给函数的内容。
<element @click="functionName()"></element>
functionName(x){
console.log(x)
}
output:
undefined
或者定义了一些东西:
<element @click="functionName('foo')"></element>
functionName(x){
console.log(x)
}
output:
foo