在 Angular 中停止鼠标事件传播的最简单方法是什么?
我应该通过特殊$event对象并调用stopPropagation()自己还是有其他方式。
$event
stopPropagation()
例如在 Meteor 中,我可以简单地false从事件处理程序返回。
false
如果您希望能够将其添加到任何元素而不必一遍又一遍地复制/粘贴相同的代码,您可以创建一个指令来执行此操作。它很简单,如下所示:
import {Directive, HostListener} from "@angular/core"; @Directive({ selector: "[click-stop-propagation]" }) export class ClickStopPropagation { @HostListener("click", ["$event"]) public onClick(event: any): void { event.stopPropagation(); } }
然后只需将其添加到您想要的元素中:
<div click-stop-propagation>Stop Propagation</div>