Получить длину массива в ngFor после преобразования труб

У меня есть следующий шаблон:

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

к сожалению, длина не существует в ngFor. Как я могу обойти эту проблему, чтобы иметь длину, доступную внутри моего ngFor?

3 ответов


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

Смотрите также https://angular.io/api/common/NgForOf


другим решением может быть следующее

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

Пример Plunker

см. также


Ну, это не хорошо документировано в Angular doc, вы можете найти в исходном коде Angular at -

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

* ngFor принимает количество парамов.

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

таким образом, мы можем получить счет, как -

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