angular 2事件绑定 - 我需要$ event吗?

时间:2016-04-25 13:29:49

标签: javascript angular

我注意到使用Angular 2,与文档不同,当我进行事件绑定时,我不必传递$ event来从组件方法访问事件数据。所以下面的代码工作正常:

在模板中:

<h2 (mouseover)="getCoord()"  >Random Words</h2>

在组件中:

getCoord() {
  console.log(event.clientX + ", " + event.clientY);
}

这非常有效,无需将$ event对象传递给方法。

这可以吗?这是现在首选的方法,但文档没有显示它?对我来说似乎很好。

1 个答案:

答案 0 :(得分:3)

我认为这是Angular中的一个错误,并且不会在它上面继续工作。

例如,@HostListener()装饰器具有明确的args参数,您可以在其中定义是否应传递$event$event.target或其他某些事件属性。

WebWorker和UI线程之间的通信正在进行一些优化,其中只有部分事件被序列化并在args中定义的这些线程之间传递。我假设你在问题中使用的事件绑定类似的事情正在发生。