Я пришел сюда, потому что после многих часов гугления я не нашел способа использовать альтернативное условие остановки для циклов, созданных с помощью встроенной директивы: *ngFor.
На самом деле любой *ngFor заканчивает цикл с этим условием: index < array.length
. Я хочу знать, есть ли способ завершить цикл другим условием, например: i < myVariable
.
Если вам интересно, почему я хочу это сделать, то это потому, что я работаю над картинной галереей, работающей следующим образом:
<div *ngFor="let pic of pics; let i = index">
<div *ngIf="whichRowType(i) == 3">
<small>pic[whichIndex(i)].id</small>
<small>pic[currentIndex + 1].id</small>
<small>pic[currentIndex + 2].id</small>
</div>
<div *ngIf="whichRowType(i) == 2">
<small>pic[whichIndex(i)].id</small>
<small>pic[currentIndex + 1].id</small>
</div>
<div *ngIf="whichRowType(i) == 1">
<small>pic[whichIndex(i)].id</small>
</div>
</div>
В этом примере я создаю строку для каждых 3 фотографий. У меня есть три типа строк: - Отобразить одно изображение, - Отобразить два изображения, - Отобразить три изображения.
Проблема в том, что индекс моего первого изображения в каждой строке всегда ниже индекса, используемого для отображения строки. Поэтому, если я хочу иметь возможность отображать все свои изображения, я должен иметь возможность изменить конечные условия файла *ngFor.
Большое спасибо за Вашу помощь!