vue 解决addEventListener重复绑定
我在组件里用addEventListener绑定了一个滚动事件,当再次渲染这个组件时,这个事件又被绑定了一次,我试着用removeEventListener解绑,没有成功,因为当组件重新渲染时this.scrollListener已经不是上一个组件里的this.scrollListener了,最后的解决方案是在组件销毁的时候去解绑
·
我在组件里用addEventListener绑定了一个滚动事件,
mounted(){
window.addEventListener('scroll', this.scrollListener,false)
},
当再次渲染这个组件时,这个事件又被绑定了一次,我试着用removeEventListener解绑,没有成功
mounted(){
window.removeEventListener('scroll',this.scrollListener,false)
window.addEventListener('scroll', this.scrollListener,false)
},
因为当组件重新渲染时this.scrollListener已经不是上一个组件里的this.scrollListener了,最后的解决方案是在组件销毁的时候去解绑
mounted(){
window.addEventListener('scroll', this.scrollListener,false)
},
destroyed(){
window.removeEventListener('scroll',this.scrollListener,false)
}
更多推荐
已为社区贡献5条内容
所有评论(0)