Получить значение следующей итерации с * ngFor - PullRequest
0 голосов
/ 30 апреля 2018

Я пытаюсь получить в контроллере значение следующей итерации в цикле * ngFor:

Шаблон:

<p *ngFor="let history of histories; let i=index; "
[ngClass]="{'show':history.date==dateseeing}">
    <span class="history-date">{{ history.date }}</span>
    <span class="history-txt">{{ history.txt }}</span>
    <mat-icon 
        *ngIf="history.date==dateseeing"
        (click)="readNext(history[i+1])">keyboard_arrow_down
    </mat-icon></p>

Контроллер :

public readNext(history) {
console.log(history);
const date = history.date;
this.dateseeing = date;}

Не могу заставить его работать

1 Ответ

0 голосов
/ 30 апреля 2018

Если я правильно понял, попробуйте это:

<p *ngFor="let history of histories; let i=index; "
[ngClass]="{'show':history.date==dateseeing}">
    <span class="history-date">{{ history.date }}</span>
    <span class="history-txt">{{ history.txt }}</span>
    <mat-icon 
        *ngIf="history.date==dateseeing"
        (click)="readNext(histories[i+1])">keyboard_arrow_down
    </mat-icon></p>

Вы не можете сделать history[i], так как история - это ваш элемент из массива, и вы хотите получить доступ ко второму элементу из histories массива

...