我正在尝试捕获Angular组件中的鼠标坐标。
这是有问题的html:
<div id="container" class="fullSize" style="height:100%;" (click)="onClick(ev)"></div>
以下是相应的typescript文件中的组件函数:
onClick( ev : MouseEvent ) {
console.log("x:" + ev.clientX);
}
控制台中的错误:
Cannot read property 'clientX' of undefined'
将MouseEvent传递给组件函数的正确方法是什么?
答案 0 :(得分:6)
您应该使用$event
将MouseEvent
对象传递给您的点击处理程序。
所以简单地写一下:
(click)="onClick($event)"
另见
答案 1 :(得分:1)
当前最佳做法:
<div id="container" class="fullSize" style="height:100%;" (click)=onClick($event.clientX)"></div>
onClick(myClientX: number) {
console.log("x: " + myClientX);
}
在此处找到当前的指南:Passing $event is a dubious practice