Vue js挂载滚动到特定的div

时间:2017-12-03 07:48:32

标签: vuejs2

我找到了这个脚本,当你点击按钮时工作正常。我想要实现的是当页面加载时它会自动滚动到特定的div。

我如何实现这一目标?

<button id="goto" @click="goto('porto')">Go to porto</button>

<div class="page" ref="porto">
    Porto page
</div>

methods: {
    goto(refName) {
        var element = this.$refs[refName];
        console.log(element);
        var top = element.offsetTop;
        window.scrollTo(0, top);
    }
},

2 个答案:

答案 0 :(得分:0)

也许你可以在Vue中使用生命周期钩子

就像挂钩一样:

mounted:{
  this.goto('porto')
}

答案 1 :(得分:0)

已安装在渲染后称为 ,但是,如果我们尝试在安装时立即滚动, 滚动可能不起作用。

没有超时的简单 setTimeout 可以解决问题,这看起来很丑陋,但是却很吸引人。

mounted() {
 setTimeout(() => {
  scrollToDiv();
 })
}