Я создал stackblitz для визуализации ответа.
Чтобы избежать путаницы и сделать ваш код более читабельным, самое простое решение - использовать два отдельных элемента в сочетании с *ngIf
.
<table border="1">
<tr *ngFor="let item of salesDataArray; let i = index">
<td>
<ng-container *ngIf="i > 0">
{{salesDataArray[i-1].fiscalPeriod + item.fiscalPeriod}}
</ng-container>
<ng-container *ngIf="i === 0">
{{item.fiscalPeriod}}
</ng-container>
</td>
</tr>
</table>
Использование ng-container
гарантирует, что элемент не будет помечен в DOM, так что код приводит к чему-то вроде <td>5</td>
.
Обратите внимание, что item
эквивалентноsalesDataArray[i]
в данном случае.
Более элегантное решение ( stackblitz ):
<table border="1">
<tr *ngFor="let item of salesDataArray; let i = index">
<td>
{{( i > 0) ? (salesDataArray[i-1].fiscalPeriod + salesDataArray[i].fiscalPeriod) : (salesDataArray[i].fiscalPeriod)}}
</td>
</tr>
</table>