vue中写有滚动事件监听页面的时候,我是这样写的

mounted () {
            window.addEventListener('scroll', this.handleScroll);//监听页面滚动事件
        },

这样写在当前页面是没有任何问题的,但是同事发现从我的这个页面跳转到他的页面的时候,随着页面滚动报了很多错,思前想后,结合vue的原理发现,vue是所有对象方法都是基于window的。那么就要用到vue的destroyed钩子函数来销毁这个事件监听。如下

        destroyed(){
            window.removeEventListener('scroll', this.handleScroll);//监听页面滚动事件
        },

这样,就不会再下一个页面报错了

Logo

前往低代码交流专区

更多推荐