2016-04-25 143 views
4

我注意到与Angular 2不同,当我做事件绑定时,我不必通过$ event来访问组件方法中的事件数据。因此,下面的代码工作正常:

在模板:

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

在组件:

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

这完美的作品,而不需要通过该方法传递$事件对象。

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

+0

真的是你吗? codechool的家伙? – rubentd

+3

大声笑耶,在Angular 2课程上工作。 –

+1

我已经注意到这在铬。在FF中试用它,你可能会得到一个错误。 – dcodesmith

回答

3

我会考虑这个角中的错误,也不会建立在它继续工作。

有例如有一个明确的args参数,可以定义如果$event$event.target或其他一些事件属性应通过@HostListener()装饰。

有一些优化持续了WebWorker和UI线程之间的通信,其中只有事件的一部分被串行化,并且在ARGS定义这些线程之间传递。我假设您的问题中使用的事件绑定类型正在发生类似的情况。

+1

感谢您的回答。正如dcodesmith提到的,相同的代码在Firefox中不起作用。 –

+0

有趣的发现:D两种,它在Chrome中工作,但不在FF中。 –