Angularjs无限滚动无法加载其他记录

时间:2016-09-19 08:25:29

标签: javascript angularjs

我是angularjs和ionic的初学者,我正在实现无限滚动,当我加载第二组记录时使用我的当前脚本,它无法捕获lastid和新生成的记录到交上来。 例如,当页面第一次加载时(一次显示2条记录),当用户滚动到页面底部时lastid为10,它会传递lastid 10以获取下一组记录再次向下滚动,它会传递相同的lastid 10而不是8

$scope.lastid = "";
$http.get('http://localhost/myapp/feeds.php').success(function(data){
        console.log(JSON.stringify(data));
        $scope.feeds=data;
        $scope.lastid = $scope.feeds[$scope.feeds.length - 1].user_id;
         });

       $scope.addMoreItem = function(){
    $http.get('http://localhost/myapp/feeds_more.php?user_id='+$scope.lastid).success(function(data){
        $scope.temp=data;
        for(var i = 0; i < $scope.temp.length - 1; i++) {
          $scope.feeds.push($scope.temp[i]);
          if(i == $scope.temp.length - 1){
              $scope.lastid = $scope.temp[i].user_id;
          }
        }   
    }); 
        $scope.$broadcast('scroll.infiniteScrollComplete');

};

HTML

<ion-infinite-scroll on-infinite="addMoreItem()"  distance="1%"> </ion-infinite-scroll>

有一件事是在第一条记录显示chrome控制台之前读取了很多错误:Cannot read property 'push' of undefined当页面仍然显示时它会自动重新加载相同的记录

0 个答案:

没有答案