this.$nextTick(() => {
document.body.scrollTop = document.body.scrollHeight;
console.log(document.body.scrollTop);
});
数据改变以后,DOM 并无当即发生变化,因此 document.body.scrollTop 仍是上一次 DOM更新以后的值。this
Vue 实现响应式并非数据发生变化以后 DOM 当即变化,而是按必定的策略进行 DOM 的更新。$nextTick 是在下次 DOM 更新循环结束以后执行延迟回调,在修改数据以后使用。spa
再次修改以后的代码以下,能够实现自动定位到对话页面的底部,可是还有一个小问题,就是输入新的对话信息以后会出现闪屏的现象,能够经过设置延时来解决。code