Я использую AngularJS для небольшого веб-приложения и столкнулся с проблемой. Я использую ng-repeat
для заполнения списка внутри div. Div имеет фиксированную высоту и имеет значение overflow-y: auto
, что означает, что полоса прокрутки появляется, когда список слишком велик для div. Моя проблема заключается в том, что когда список перерисовывается, т.е. Изменения ng-repeat, поддерживающие данные, полоса прокрутки не имеет значения reset в верхней части div. Вместо этого он остается в любом положении полосы прокрутки до изменения ng-repeat. Это очень плохой пользовательский интерфейс. Я пробовал следующее без везения:
<div id="myList">
<ul>
<li ng-repeat="item in items">{{item}}</li>
</ul>
</div>
<a ng-click="switchItems()">Switch</a>
<script>
function MyApp($scope) {
$scope.switchItems = function() {
$('#myList').scrollTop();
$scope.items = [1, 2, 3, 4]; // new items
};
}
</script>