令人惊讶的是,关于在Angular中如何使事件监听器变为被动监听器的话题在互联网上几乎没有相关内容。
我有一个下拉菜单,在Chrome中滚动时会抛出错误:[Intervention] Unable to preventDefault inside passive event listener due to target being treated as passive...
。我很清楚Google抛出这个错误的动机以及问题本身,并且我知道解决方法。我需要让类似这样的代码在我的Angular代码中生效:document.addEventListener('wheel', (e) => { e.preventDefault() }, { passive: false });
但是似乎解决方案比我想象的要难实现。Angular没有一种可以将事件监听器设置为{passive: false}
的方式,而我粘贴的原始JS代码根本不起作用。
是否有人遇到过类似的问题/解决方案?或者可能有变通方法吗?任何相关信息都可以提供价值,谢谢。
https://angular.io/api/core/HostListener
吗?那里可能有你可以使用的选项或优化行为。 - mikegross