Я хочу прокрутить до последнего сообщения в окне чата. Поэтому я делаю это как -прокрутите до элемента списка после того, как угловой обработал элемент
akiRepair.controller("chatCtrl", ['$scope', function($scope){
...
var size = $scope.messages.length;
var t = document.querySelector("#chat-box");
console.log(t);
var elt = angular.element(t.querySelector("md-list-item")[size-1]);
angular.element("#chat-box").animate({scrollTop: elt.offset().top}, "slow");
Теперь перед нг-повтор завершается оказывает код контроллера запускается, который я не хочу. есть ли способ приостановить функцию «прокрутки до», пока все не будет обработано должным образом.
HTML код -
<md-list layout-padding id="chat-box">
<md-list-item class="md-3-line" ng-repeat="message in messages">
<i class="md-avatar material-icons"
ng-if="message.sender">face</i>
<div class="md-list-item-text"
ng-class="message.sender?'left-align':'right-align'">
<h3>{{message.what}}</h3>
<h4 class="faded">{{message.whence | date: 'yyyy:mm:dd hh:mm:ss'}}</h4>
</div>
<i class="md-avatar material-icons"
ng-if="!message.sender">face</i>
<md-divider ng-if="!$last"></md-divider>
</md-list-item>
Благодаря
Великое, который работал, однако функция одушевленная не работает, пожалуйста, вы можете предложить что-то для этого также – codeomnitrix
О вашем комментарии, что '$ timeout' здесь не требуется, правда, но он помогает в тестировании, так как вы можете легко его издеваться. – Martin