vue给当前页面加滚动监听怎么样不影响其他页面

时间:2022-06-30 04:34:17

最近利用vue写了一个网站,在网站某一个页面滚动到某一个地方后执行某一动化,所以要获取拿一个div到顶部的距离,所以我在页面加载的时候给window加了一个滚动的监听

 mounted(){
      window.addEventListener('scroll', this.handleScroll)
    },

  但是这一个监听是给window加的,所以其他的每一个页面都要去掉监听

  mounted(){
      window.removeEventListener('scroll', this.handleScroll)
    },

  这样有点太麻烦,所以我想到了vue的生命钩子里有一个destroyed,只需要在执行监听那个页面加入去掉监听的代码就好了

  destroyed(){
      window.removeEventListener('scroll', this.handleScroll)
    },