vue 使用 v-if 控制组件显示,组件注册监听事件多次执行

在项目中遇到过这样的情况,组件里面注册了window监听事件,组件加载用v-if控制,第一遍加载操作是没有问题,但是在第二遍及之后的加载操作有点问题。window监听事件会触发多次

经过检查后发现,当操作完成组件用v-if控制不显示,但是window监听事件还存在并没有被注销,所以导致后面加载的组件操作会显示触发多次监听事件。

解决方法:在组件销毁的时候移除当前不需要的window监听事件

 

添加事件监听:

window.addEventListener(event, function, true);

移除事件监听

window.removeEventListener(event, function, true)

 

你可能感兴趣的:(前端,vue)