Wie scrollt man einen Div nach oben, dessen Inhalt von AngularDart verwaltet wird?
Ich habe eindiv
einige Chat-Geschichte halten. Ich möchte für diediv
Inhalt zum Scrollen, wenn er voll ist. Ich habe diese Arbeit mit jQuery in einem anderen Projekt, aberWas wäre der richtige AngularDart-Weg, um dies zu erreichen?
Ein bisschen vereinfacht, in meinem HTML habe ich
<div class="chatHistory">{{ctrl.text}}</div>
(mit Stilwhite-space:pre
) und in meinem Controller habe ich die Methode
void addToChatHistory(String msg) {
text += msg;
var elt = querySelector(".chatHistory");
elt.scrollTop = elt.scrollHeight;
}
Probleme:
Dieser Code scrollt diediv
Inhaltlich aber nicht ganz genug, weil es das setztscrollTop
zu schnell; d.h. noch vor dem.chatHistory
kann durch Angular aktualisiert werden.Außerdem fühlt sich diese (Teil-) Lösung bei Verwendung von nicht sehr eckig anquerySelector
.Ich habe versucht, einewatch
auf dertext
Feld, aber das feuert auch zu früh. Vorschläge?