Пример: https://angular -txvcna.stackblitz.io / ( Код ).
У меня есть компонент "чат", и я хочу получитьdiv для прокрутки вниз, каждый раз, когда добавляется сообщение.
Я добавляю новое сообщение, помещая элемент в массив (this.messages.push(message)
), и пытаюсь прокрутить вниз, сразу после этого,Похоже, что операция прокрутки this.chatboxBody.nativeElement.scrollTop = this.chatboxBody.nativeElement.scrollHeight;
выполняется перед угловыми хуками жизненного цикла, потому что scrollHeight
имеет старшее значение высоты в качестве оправдания.
В данный момент я использую setTimeout
, чтобы исправить это,но это действительно похоже на ярлык.Как я могу это исправить?(В идеале - подписаться на хук, который обновляет дочерний компонент)