web-dev-qa-db-fra.com

Obtenir la longueur du tableau dans ngFor après la transformation des tubes

J'ai le modèle suivant:

<div *ngFor="let item of myArray | customPipe1 | customPipe2; let l = length">
  Here is the length of my ngFor : {{l}}
</div>

Malheureusement, la longueur n'existe pas dans ngFor. Comment puis-je contourner ce problème pour avoir la longueur disponible dans mon ngFor?

8
Scipion

Une autre solution pourrait être la suivante

<div *ngFor="let item of myArray | customPipe1 | customPipe2; let l = count">
  Here is the length of my ngFor : {{l}}
</div>

Exemple Plunker

Voir également

11
yurzui
<div *ngFor="let item of myArray | customPipe1 | customPipe2 as result">
  Here is the length of my ngFor : {{result.length}}
</div>

Voir aussi https://angular.io/api/common/NgForOf

12
Günter Zöchbauer

Eh bien, ceci n’est pas bien documenté dans la documentation Angular, vous pouvez trouver sous le code source de Angular à -

https://github.com/angular/angular/blob/master/packages/common/src/directives/ng_for_of.ts

* ngFor accepte les paramètres de comptage.

constructor(public $implicit: T, public ngForOf: NgIterable<T>, public index: number,public count: number) {
}

Donc, nous pouvons obtenir le compte comme - 

<div *ngFor="let item of items | pipe; let l = count">
<div>{{count}}</div>
</div>
0
Kanchan