2015-08-08 57 views
4

我正在开发一个混合移动应用与Onsenui和科尔多瓦在Android中,我想在主页中显示一些数据和加载更多的项目时向下滚动。 我知道这是用ons-infinite-scroll 这里就是我试图科尔多瓦android:从数据库无限滚动onsenui加载数据

<ons-scroller 
     infinit-scroll-enable="true" can-load="true" on-scrolled="populateList()" threshold="2" style="height:100%"> 
<div ng-repeat="item in items"> 
//display the data 
</div> 
</ons-scroller> 

的js

module.controller('AppController', function($scope,$http) { 
    //for initial loading 
    $scope.items=new Array(); 
    $scope.page=1; 
    $http.get(url+"getlotterylist").then(function(msg){ 
     $scope.loading=false; 
     $scope.items=msg.data; 
    }); 
//load more when scrolls down 
    $scope.populateList=function(){ 


     $http.get(url+"getlotterylist&&page="+$scope.page).then(function(msg){ 
      $scope.items=msg.data; 
      $scope.page +=1; 
    }); 
    } 

} 

实际的问题是,当向下滚动它替换新。如何将旧数据完成我可以解决它吗?。我也想在取出所有数据后停止滚动

PHP

function get_lottery_list(){ 
    $limit=7; 
    $page=(isset($_GET['page']))?$_GET['page']:1; 
    $start=($page-1)*$limit; 
    $connect=db_connect(); 
    $result=$connect->prepare("SELECT * FROM `daily_draw_details` ORDER BY `id` DESC LIMIT $start,$limit"); 
    $result->execute(); 
    echo json_encode($result->fetchAll(PDO::FETCH_ASSOC)); 
    } 

回答

0

你每次你做一个请求时,覆盖具有$scope.items=msg.data;所有项目。相反,只需将新项目追加到$scope.items的末尾即可。此外,您可能想检查ons-lazy-repeat,因为不再支持<ons-scroller infinite-scroll>http://onsen.io/guide/overview.html#UsingLazyRepeat