как прокрутить нижнюю часть div с помощью angular js

У меня есть div, в который я добавил элемент. Я хочу прокручивать вниз div всякий раз, когда элемент добавляется в div. Я знаю, как это сделать в jquery. Но я не знал, как прокручивать с помощью angular js, я знаю, используя jquery Прокрутить до конца div?

testCaseContainer — это идентификатор div.

var elem = document.getElementById('testCaseContainer'); // just to
                                                                    // scroll down
                                                                    // the line
        elem.scrollTop = elem.scrollHeight;

Я хочу знать, как это возможно с помощью angular?

http://plnkr.co/edit/M8tCL8Szc3h3FatFLycG?p=preview

Я добавил css в контейнер div, чтобы он прокручивался.

.heightClass{
  height:100px;
  overflow :auto;
}

как переместить фокус ниже, когда элемент добавлен .. пожалуйста, напишите свой ответ ..


person Shruti    schedule 17.08.2014    source источник


Ответы (1)


Вы можете создать свою собственную директиву прокрутки, которая следит за коллекцией и при ее изменении устанавливает положение прокрутки:

app.directive('scroll', function($timeout) {
  return {
    restrict: 'A',
    link: function(scope, element, attr) {
      scope.$watchCollection(attr.scroll, function(newVal) {
        $timeout(function() {
         element[0].scrollTop = element[0].scrollHeight;
        });
      });
    }
  }
});

HTML

<div class="heightClass" scroll="studentDetail">

Примечание. $timeout необходим для того, чтобы положение прокрутки было установлено после рендеринга представления.

Демо-плункер

person pixelbits    schedule 17.08.2014
comment
Отдельное спасибо за подсказку $timeout! - person stephan.com; 12.06.2015
comment
что такое studentDetail? - person vivex; 05.10.2015