我正在使用ng-repeat来获取一些列表项。这样可行。我也是根据字母表订购的。我是这样做的:
<li class="item" ng-repeat="schedule in Schedules | filter:scheduleSearch | limitTo:numberOfItemsToDisplay | orderBy: 'namesAlphabet' as names">
Display some data
</li>
<ion-infinite-scroll on-infinite="addMoreItem()" ng-if="Schedules.length > numberOfItemsToDisplay"></ion-infinite-scroll>
现在,我添加了您可以在下面看到的无限滚动。我想在滚动后获取这些项目。这也适用于(虽然在iOS上,它只是在滚动之前显示它们,但这是一个不同的问题)。
我这样做:
$scope.numberOfItemsToDisplay = 10; // Use it with limit to in ng-repeat
$scope.addMoreItem = function(done) {
if ($scope.Schedules.length > $scope.numberOfItemsToDisplay)
$scope.numberOfItemsToDisplay += 10; // load number of more items
$scope.$broadcast('scroll.infiniteScrollComplete')
}
问题是最初显示的项目(前10个)只是随机显示,并且不遵守ng-repeat中所述的orderBy
。所以我想要做的是,它按照我在ng-repeat
中所述的方式在滚动之后向我显示列表项目。
我的问题是:我该怎么办?
我的代码中是否缺少某些内容?我尝试将其添加到ng-if
,但这根本不起作用。
答案 0 :(得分:1)
limitTo
应放在orderBy
之后(订单很重要)。
<li class="item" ng-repeat="schedule in Schedules | filter:scheduleSearch | orderBy: 'namesAlphabet' | limitTo:numberOfItemsToDisplay">
Display some data
</li>