2016-08-26 5 views
0

Как я могу получить последние 5 записей из базы данных?Angular 2 - получить последние 5 записей из базы данных

logs.component.html

<table class="table table-striped table-bordered"> 
     <thead> 
      <tr> 
       <th>Date</th> 
       <th>Logging in is completed?</th> 
      </tr> 
     </thead> 
     <tbody> 
       <tr *ngFor="let log of logs"> 

         <td >{{log.date}}</td> 
         <td >{{log.isCompleted}}</td> 

       </tr> 

     </tbody> 
</table> 

С выше кода я получаю все записи. Я хотел бы сделать что-то подобное:

for(int i=logs.length();i>logs.length()-5;i--) 
+1

Возможно, вы захотите отфильтровать результаты на уровне базы данных, а не на вашем JavaScript, так как это более эффективно. В противном случае ваше приложение Angular2 загрузит ненужные данные с сервера, только чтобы игнорировать его – Delosdos

ответ

0

Я сделал это таким образом:

<tr *ngFor="let log of logs; let i =index"> 

        <td *ngIf ="i>=logs.length -5">{{log.date}}</td> 
        <td * ngIf="i>=logs.length -5">{{log.isCompleted}}</td> 

      </tr> 
0

Для ограничения выхода NGFor увидеть этот ответ: Angular 2: how to apply limit to *ngFor?

Если вы ничего конкретного с остальными данными не делать, пожалуйста, обратитесь к к @Delosdos Комментарий: вам следует рассмотреть возможность фильтрации набора данных на стороне сервера.

0

Угловое 2 обеспечивает Slice Pipe для подмножеств списка или выражение String.

array_or_string_expression | slice:start[:end]

Пример:

<tr *ngFor="let log of logs | slice:0:4"> 
    <td >{{log.date}}</td> 
    <td >{{log.isCompleted}}</td> 
</tr> 

Примечание: start и end равны нулю основе.

Смежные вопросы