Как я могу ограничить ngFor в Angular HTML? - PullRequest
2 голосов
/ 10 марта 2020

мне нужно ngFor с лимитом 4 элемента, но если данные <4, мне нужно заставить l oop до 4 </p>

Пример на этом

<img *ngFor="let item of [1,2,3,4]"
    src="assets/images/no-image.jpg"
    style="border-radius: 50%; height:90%;" />

Ответы [ 4 ]

2 голосов
/ 10 марта 2020

Поскольку вы определяете свой массив где-то в своем коде, самый простой способ - это разрезать его там. В противном случае вы можете использовать трубу среза, чтобы сделать это прямо в своем коде. См. https://angular.io/api/common/SlicePipe

Так что для вас вы бы просто добавили | slice:0:4 в конец вашего ngFor


Редактировать: Извините, я должен был читайте внимательнее Я написал демо-версию Plunker для этого. Вы можете использовать трубу или компонент logi c.

Plunker Demo

2 голосов
/ 10 марта 2020

Попробуйте так:

<div *ngFor="let item of list; let i=index">
   <img *ngIf="i<4">{{item.text}}</img>
</div>
2 голосов
/ 10 марта 2020

Попробуйте вот так

<ng-container *ngFor="let item of [1,2,3,4] ; let i = index">
   <img *ngIf="i < 4"
    src="assets/images/no-image.jpg"
    style="border-radius: 50%; height:90%;" />
</ng-container>
0 голосов
/ 10 марта 2020

Попробуйте следующим образом

[src]="imageSrc ? imageSrc  : defaultImage"

Здесь imageSrc - это src изображения, которое вы хотите поместить, и defaultImage - это src изображения, если оно недоступно. Используйте этот способ

<img *ngIf="i < 4">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...