javascript - angular 2 事件绑定(bind) - 我需要 $event 吗?

标签 javascript angular

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

在模板中:

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

在组件中:

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

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

这样可以吗?这是现在的首选方法,但文档没有显示吗?我觉得没问题。

最佳答案

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

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

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

关于javascript - angular 2 事件绑定(bind) - 我需要 $event 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36842047/

相关文章:

Angular 2 : Replace injected Renderer with jasmine spy object in component shallow tests

*ngFor 中的 Angular 4 计算总值之和

javascript - 将我的自定义图标添加到 ionic 2 actionSheet 的按钮

javascript - 在弹出窗口上触发事件 (ExtJS)

javascript - 有条件地改变表格数据 Angular 2+ 的颜色

javascript - 为什么我的数组未定义?

java - 用真实设备连接xampp localhost数据库

javascript - 将一个对象与数组中的前一个对象进行比较

javascript - JQuery 验证 : How to check items in multiple select

angular - 删除 HttpParams 中的空参数