これは、jQuery を使用して簡単に実行できます。
var msgs = $(".messages ul")
var scroll = false
if( msgs[0].scrollHeight === (msgs.scrollTop() + msgs.outerHeight() ) )
{
scroll = true
}
$scope.messages.push(data)
if(scroll)
{
setTimeout(function(){
msgs.scrollTop(msgs[0].scrollHeight) // Allow it to update!
},0)
}
コンテキストを示すために、ul はメッセージのコンテナーです。配列を反復処理し$scope.messages
、コンテナーが一番下までスクロールされると、一番下にくっつきます。この実装は私にとってはうまくいきます。
さて、私は最近、Angular で jQuery を実際に使用してはならないことを学びました。しかし、純粋なAngularJSでこのようなことをどのように達成できるのでしょうか?