2016-04-25 214 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中。 –