<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<div id='app'>
<ul>
<li v-for='i in items'><h1>{{i}}</h1></li>
</ul>
</div>
<script src='https://cdnjs.cloudflare.com/ajax/libs/vue/1.0.26/vue.js'></script>
<script>
new Vue({
el:'#app',
data:function(){
return {
items:[]
};
},
ready:function(){
for (var i = 0; i < 3000; i++) {
this.items.push( i );
}
this.$nextTick(function(){
var h = document.body.scrollHeight - window.innerHeight;
window.scrollTo(0,h);
});
}
});
</script>
</body>
</html>
我希望完成一个效果,当数据返回以后 进行渲染 然后浏览器的滚动条滚动到底部,但是上面这样实现不成功,我试了一下用 setTimeout是可以的,但是看文档说nextTick里面已经有了setTimeout ,上面的代码为什么不行?
更新:系统 osx 10.11.4
chrome版本 50.0.2661.102 (64-bit) 测试无效
火狐 , Safari有效。
不知道题主是用的什么环境和浏览器,我这边chrome测试是可以的,原样复制你的代码的.