2016-11-04 11 views
2

ポーリングと基本{{content}}の補間によって数値が設定されたoverflow-y: scroll;のdivがあります。
私はそれを自動的に下にスクロールさせようとしているので、最後の行は常に表示されます。私は同じアプローチをしようとすると、 <div #list class="list" [scrollTop]="list.scrollHeight">

は、しかし、私はExpression has changed after it was checked.例外を取得:
は、私が最もエレガントな解決策のように見えるこのplnkr http://plnkr.co/edit/7yz2DUttPjI5GVJkvr5h?open=app%2Fapp.component.tsを見つけました。角度2の自動スクロールdiv - 式が変更されました

<div class="cdiv" #cdiv [scrollTop]="cdiv.scrollHeight">{{content}}</div> 

私だけplunkerから*ngFor .. | asyncは、私が使用している直接補間とは異なる内部的に振る舞うと仮定することができます。
しかし、私は正確にそれを修正する方法があるのか​​、なぜそれが正しいのか分かりません。

答えて

1

私はかなりのようにきれいではない別の解決策を見出すことになったが、少なくとも、それが今の作品:

... implements AfterViewChecked 
... 
ngAfterViewChecked() 
{ 
    let d = document.querySelector('.cdiv'); 
    if(d) 
    { 
     d.scrollTop = d.scrollHeight; 
    } 
} 
関連する問題