为了账号安全,请及时绑定邮箱和手机立即绑定

在vue的mounted钩子里面调用window对象滚动到页面顶部的代码未生效

在vue的mounted钩子里面调用window对象滚动到页面顶部的代码未生效

慕妹3242003 2019-02-28 18:51:21
1.我想在页面mounted时调用window.scrollTo(0,0);让滚动条回到顶部,但是并没有生效那我怀疑是文档没有全部渲染完整,我用到了$nextTick,为了观察我让滚动条滚动20px, this.$nextTick(()=>{          console.log('执行nextTick')          window.scrollTo(0,20)// 未生效,点击浏览器后退按钮回到这个页面滚动条依旧在上个页面所在的位置        })上面的代码中页面刷新后打印输入并且滚动条向下20px,但是如果是从某个页面点击浏览器后退按钮回到这个页面的话,虽然有打印输出,但是window.scrollTo(0,20)应该是执行了,但是并没有把滚动条回到20px的位置。但是如果用setTimeout就可以mounted(){        setTimeout(()=>{          window.scrollTo(0,0)//点击浏览器后退按钮,回到页面后会吧滚动条滚动到20px位置        },0)      }这其中的原因是什么?
查看完整描述

2 回答

?
Qyouu

TA贡献1786条经验 获得超11个赞

vue有它自己的写法:

mounted: function () {

  this.$nextTick(function () {

    // 代码保证 this.$el 在 document 中

  })

}

参考1
参考2
参考3

查看完整回答
反对 回复 2019-03-01
  • 2 回答
  • 0 关注
  • 1613 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号