Mon code:
<li *ngFor="let item of list; let i=index" class="dropdown-item" (click)="onClick(item)">
<template [ngIf]="i<11">{{item.text}}</template>
</li>
J'essaie d'avoir seulement 10 éléments de liste affichés à tout moment. Comme suggéré dans la réponse ici , j'ai utilisé ngIf mais cela se traduit par des éléments de liste vides (au-delà de 10) apparaissant sur la page.
slice:0:10
affecte le tableau d'origine ??slice
renvoie une copie et n'affecte pas le tableau d'origine| slice:0:10
tube, c'est super, il m'a aidé à construire une liste avec un bouton "Voir plus" qui incrémente leslices
deuxième argument du 's.Cela fonctionne très bien:
la source
Vous pouvez appliquer directement
slice()
à la variable. Démo StackBlitzla source
Par exemple, disons que nous voulons afficher uniquement les 10 premiers éléments d'un tableau, nous pourrions le faire en utilisant le SlicePipe comme ceci:
la source
En plus de la réponse de @ Gunter, vous pouvez utiliser trackBy pour améliorer les performances. trackBy prend une fonction qui a deux arguments: index et item. Vous pouvez renvoyer une valeur unique dans l'objet à partir de la fonction. Cela arrêtera le rendu des éléments déjà affichés dans ngFor. Dans votre html, ajoutez trackBy comme ci-dessous.
Et écrivez une fonction comme celle-ci dans votre fichier .ts.
la source
html
manuscrit
css
la source
Dans votre fichier ts
la source