Angular被动事件侦听器

8

令人惊讶的是,关于在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代码根本不起作用。

是否有人遇到过类似的问题/解决方案?或者可能有变通方法吗?任何相关信息都可以提供价值,谢谢。


嗨,SharisM,你可以尝试使用 https://angular.io/api/core/HostListener 吗?那里可能有你可以使用的选项或优化行为。 - mikegross
你好@mikegross,我很快就会尝试,看看效果如何。谢谢。 - SharisM
@mikegross,我试过了,但还是不行。也许你能具体说明一下你的想法?谢谢。 - SharisM
1个回答

3

1
您链接的页面已被标记为存档。这是更好的链接:https://angular.io/guide/event-binding#binding-to-passive-events。 - adhirajsinghchauhan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接