具有不同 z 索引的重复元素上的​​重复事件 angular 第 3 方库

Duplicated Events on duplicated elements with different z-indexes angular 3rd Party library

我在 angular 项目的 ionic 中使用第 3 方库 (angular-draggable-droppable)。作为 ionic 缓存页面,angular 组件保留在 Dom 中,但具有较低的 z-index 值。看起来,当同一页面具有不同的 z-index 时,onDrop 事件被触发两次,每个元素触发一次,因为它们都在 dom 中。 我的问题是:

  1. 当使用第 3 方库时,我是否需要确保从 dom 中正确删除事件侦听器。
  2. 我该如何做到这一点(removing/disabling 缓存页面的所有事件侦听器)。
  3. 对于类似的情况有什么建议吗(我有一个我不喜欢的解决方法,很快就会在页面中有一个标志(活动),我在挂钩 IonicDidLeave 和每个事件中都将其设置为 false -handler 我检查它是否处于活动状态,然后进行预期的处理)。
  4. 我是否需要找到另一个库来处理这种情况?

当 DOM 元素作为现代浏览器垃圾回收过程的一部分被垃圾回收时,事件处理程序将被删除和清理。在您的情况下,由于离子缓存组件而不是删除,您需要通过 removeListener javascript 方法手动删除。