vue缓存页面返回到指定滚动位置
vue 中注册滚动事件与dom 并无不同
以下配合keep-alive 组件使用
在 mounted 注册滚动事件
this.handleScroll 获取scrollTop
mounted(){
  window.addEventListener('scroll', this.handleScroll);
}
handleScroll () {
  let scrollTop = document.body.scrollTop;
  this.scroll = scrollTop;
}
keep-alive 组件激活时调用。该钩子在服务器端渲染期间不被调用。
activated() {
    if(this.scroll > 0){
       window.scrollTo(0, this.scroll);
       this.scroll = 0;
       window.addEventListener('scroll', this.handleScroll);
    }
}
keep-alive 组件停用时调用。该钩子在服务器端渲染期间不被调用。
deactivated(){
     window.removeEventListener('scroll', this.handleScroll);
}
参考地址: VUE
                    
                
                
            
        
浙公网安备 33010602011771号