2016-12-01 1 views
0

내 웹 사이트에서 가장 간단한 페이지 매김을 구현하려고합니다. 어디서부터 시작해야할지 모르겠다. 저는 웹 개발의 초보자입니다.Nodejs 애플리케이션의 AngularJS/JavaScript 페이지 매기기

app.controller('searchCtrl', function ($scope, $http, $location) { 
$scope.displayAllUsers = function() { 
    $http.get("/gebruikers") 
      .success(function (users) { 
       success2("Gebruikers gevonden!", "zoekTable"); 
       $scope.results = users; 
      }) 
      .error(function (err) { 
       alert(err); 
       clearResults(); 
      }); 
}; 

    function clearResults() { 
     $scope.results = ""; 
     $scope.results.length = 0; 
    } 
}); 

그리고 마지막으로 내 Node.js를 코드 :

app.get("/gebruikers", function (req, res) { 
var rijen; 
l("Bezig met ophalen van gebruikers..."); 
connection.query("SELECT * FROM gebruikers INNER JOIN personalia ON gebruikers.gebruikersnaam = personalia.gebruikersnaam WHERE done='1';", function (err, rows) { 
    if (err) { 
     l("ERROR: " + err); 
     res.sendStatus(500); 
    } else { 
     if (rows.length >= 1) { 
      rijen = rows; 
      l("Gebruikers gevonden!"); 
      res.status(200).send(rows); 
     } else { 
      l("Geen gebruikers gevonden!"); 
      res.status(404).send("!Geen gebruikers gevonden!"); 
     } 
    } 
}); 
}); 
다음
<div ng-controller="searchCtrl"> 
<h2 id="zoekTable">Zoeken</h2> 
<form> 
    <table class="table"> 
     <tr> 
      <td>&nbsp;</td> 
      <td><button type="submit" class="btn btn-edit" ng-click="searchSystem()">Zoek</button> <button type="button" class="btn" ng-click="displayAllUsers()">Toon alle gebruikers</button></td> 
     </tr> 
    </table> 
</form> 

<h2>Gebruikers</h2> 
<table class="table" id="tableResults"> 
    <thead> 
     <tr> 
      <td>Gebruikersnaam</td> 
      <td>Volledige naam</td> 
      <td>Woonplaats</td> 
      <td>Bezit rijbewijs</td> 
      <td>Bekijk CV</td> 
     </tr> 
    </thead> 
    <tr ng-if="results.length === 0"> 
     <td>Geen.</td> 
     <td>&nbsp;</td> 
     <td>&nbsp;</td> 
     <td>&nbsp;</td> 
     <td>&nbsp;</td> 
    </tr> 
    <tr ng-if="results.length !== 0" ng-repeat="result in results"> 
     <td>{{result.gebruikersnaam}}</td> 
     <td>{{result.naam}}</td> 
     <td>{{result.woonplaats}}</td> 
     <td>{{result.rijbewijs==1?"Ja":"Nee"}}</td> 
     <td><button ng-click="viewCV(result.gebruikersnaam)">Bekijk CV</button></td> 
    </tr> 
</table> 
</div> 

내 AngularJS와 측면에 대한 내 코드입니다 : 여기

내 index.html을 내 코드입니다

어쩌면 데이터베이스에서 1000 명의 사용자를 확보하고 있으며 가능한 한 단순한 페이지 매김을 추가하고 싶습니다. 괭이 할 수 있을까요?

+1

[읽을만한 가치] (http://www.michaelbromley.co.uk/blog/108/paginate-almost-anything-in-angularjs) – GillesC

답변

0

백엔드는 두 개의 매개 변수를 처리 할 수 ​​있어야합니다. 제한 및 건너 뛰기. 제한은 반입 할 레코드의 수이며 생략 할 레코드 수는 건너 뜁니다. 페이지 1

$scope.page = function(_page) { 
    var query = { 
     skip: 50 * (_page - 1), 
     limit: 50 
    }; 
} 

경우 0 기록을 생략합니다

그래서 당신이 뭔가를해야합니다. 페이지가 2이면 50을 생략합니다.

백엔드에서 적절한 쿼리와 이것을 결합해야합니다. @ GillesC가 언급했듯이 각도에 대한 페이지 매김 지시문을 확인하십시오. http://www.michaelbromley.co.uk/blog/108/paginate-almost-anything-in-angularjs