Vue中addEventListener踩坑记录

在一次Vue项目开发中,给window绑定了addEventListener事件,然后在离开组件的时候调用removeEventListener移除事件,但是发现没有生效

错误示例

下面这样操作,是无法移除onmessageWS事件的

created() {
    window.addEventListener('onmessageWS', () => {
      console.log(1111)
    })
  },
  beforeDestroy() {
    window.removeEventListener('onmessageWS', () => {
      console.log(1111)
    })
  }

正确示例

后来查找到Vue中事件监听的第二个参数处理函数需要绑定到this上,并且removeEventListeneraddEventListener 中对应的参数要一致

created() {
    window.addEventListener('onmessageWS', this.wsFunc)
  },
  beforeDestroy() {
    window.removeEventListener('onmessageWS', this.wsFunc)
  },
methods: {
  wsFunc(e) {
     console.log(1111)
  }
}

这个坑还是有点坑的

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容