实时示例:https ://angular-txvcna.stackblitz.io/ (代码)。
我有一个“聊天”组件,我想让 div 每次添加消息时滚动到底部。
我通过将项目推送到数组 ( this.messages.push(message)
) 来添加新消息,然后尝试滚动到右下方。滚动操作似乎this.chatboxBody.nativeElement.scrollTop = this.chatboxBody.nativeElement.scrollHeight;
在 angular 的生命周期钩子之前,因为scrollHeight
它执行时具有较旧的高度值。
目前我setTimeout
用来修复它,但它真的感觉像一个捷径。我该如何解决?(理想情况下 - 以某种方式订阅更新子组件的钩子)