我注意到使用Angular 2,与文档不同,当我进行事件绑定时,我不必传递$ event来从组件方法访问事件数据。所以下面的代码工作正常:
在模板中:
<h2 (mouseover)="getCoord()" >Random Words</h2>
在组件中:
getCoord() {
console.log(event.clientX + ", " + event.clientY);
}
这非常有效,无需将$ event对象传递给方法。
这可以吗?这是现在首选的方法,但文档没有显示它?对我来说似乎很好。
答案 0 :(得分:3)
我认为这是Angular中的一个错误,并且不会在它上面继续工作。
例如,@HostListener()装饰器具有明确的args
参数,您可以在其中定义是否应传递$event
或$event.target
或其他某些事件属性。
WebWorker和UI线程之间的通信正在进行一些优化,其中只有部分事件被序列化并在args中定义的这些线程之间传递。我假设你在问题中使用的事件绑定类似的事情正在发生。