父组件通过tab切换子组件显示,在每个子组件里监听了滚动事件,怎么解决在其中一个子组件触发滚动事件时,其他子组件禁止触发滚动事件

Bug:有一个父组件,有A,B,C三个子组件。通过点击tab页控制显示或隐藏三个子组件。每个子组件都监听了滚动条下拉到底部加载更多的滚动事件,当由A切换到B组件时,发现在B组件还是可以出发A组件的滚动事件。而且我在每个子组件的destroyed()都解绑了滚动事件,但是好像切换tab页显示并没有解绑成功。请问怎么解决?

阅读 4.5k
2 个回答

单页面应用的滚动,如果你使用了window事件。而且使用了#路由模式,是会出现这种情况的。

新手上路,请多包涵

你好,我今天也遇到了这种情况,解决办法是,我在tab-click那里判断了哪个子组件显示,再在父组件去调用所显示子组件里面的监听事件document.addEventListener(),同时调用其他子组件的销毁监听事件document.removeEventListener();这样可以避免在一个子组件里触发监听事件别的子组件也会被影响的情况。不知道你这里有没有更好的办法

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题