Pagination en Angular

Rana Hasnain Khan 3 février 2022
Pagination en Angular

Nous présenterons la pagination dans Angular et quelle bibliothèque est la meilleure pour implémenter la pagination, et comment l’utiliser.

Pagination en Angular

Lorsque nous avons un ensemble de données de plus de 1 000 ou 10 000 éléments, nous ne pouvons pas afficher tous les éléments sur une seule page ou en même temps car le chargement d’un ensemble de données complet prend beaucoup de temps et de mémoire. La meilleure façon d’afficher de nombreux ensembles de données consiste à utiliser la pagination dans Angular.

De nombreuses bibliothèques peuvent être utilisées pour la pagination dans Angular. Mais dans ce tutoriel, nous utiliserons ngx-pagination, qui est facile et simple à mettre en œuvre.

Installation de ngx-pagination

Pour installer une bibliothèque ngx-pagination, nous devons ouvrir le terminal dans notre projet et exécuter la commande suivante.

# angular CLI
npm install ngx-pagination

Une fois notre bibliothèque installée, nous importerons NgxPaginationModule à partir de ngx-pagination dans le fichier app.module.ts. Nous allons également importer NgxPaginationModule dans @NgModule.

Ainsi, notre code dans app.module.ts ressemblera à ci-dessous.

# angular
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { FormsModule } from '@angular/forms';
import { NgxPaginationModule } from 'ngx-pagination';

import { AppComponent } from './app.component';
import { HelloComponent } from './hello.component';

@NgModule({
  imports:      [ BrowserModule, FormsModule, NgxPaginationModule ],
  declarations: [ AppComponent, HelloComponent ],
  bootstrap:    [ AppComponent ]
})
export class AppModule { }

Nous allons créer un tableau avec quelques données et une variable number qui stockera le numéro de la page sur laquelle nous nous trouvons. Notre code dans app.component.ts ressemblera à ci-dessous.

# angular
import { Component, VERSION } from '@angular/core';

@Component({
  selector: 'my-app',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css'],
})
export class AppComponent {
  pages: number = 1;
  dataset: any[] = ['1','2','3','4','5','6','7','8','9','10'];
}

Nous allons créer une vue pour afficher notre jeu de données. Le app.component.html ressemblera à ci-dessous.

# angular
<div>
  <h2
    *ngFor="
      let data of dataset | paginate: { itemsPerPage: 2, currentPage: pages }
    "
  >
    {{ data }}
  </h2>
</div>

<pagination-controls (pageChange)="pages = $event"></pagination-controls>

Écrivons du code CSS pour le rendre plus beau dans app.component.css.

# angular
div{
  text-align: center;
  padding: 10px;
}
h2{
  border: 1px solid black;
  padding: 10px;
}

Production :

pagination dans la capture d&rsquo;écran Angular

Cela fonctionnera comme ça.

résultat final de la pagination dans Angular

Rana Hasnain Khan avatar Rana Hasnain Khan avatar

Rana is a computer science graduate passionate about helping people to build and diagnose scalable web application problems and problems developers face across the full-stack.

LinkedIn