Zobacz this Plunker dla rozwiązania udało mi się wymyślić .
To może nie być eleganckie, ale działa (głównie)!
Zasadniczo, *ngFor
pomaga handful of values, podobnie jak indeks, parzysty, nieparzysty i na szczęście pierwszy i ostatni bajt, który jest prawdziwy dla odpowiednich iteracji. Najpierw musisz wystawić wartości jako zmienne lokalne w *ngFor
dokładnie tak samo, jak indeks. Następnie musisz uzyskać Angular, aby wywołać funkcję z szablonu, co możesz zrobić tak, jakbyś wiązał wartość do szablonu, ale z trzeciorzędnym warunkiem (który zwraca wartość null dla fałszywych ocen).
<div *ngFor="let i of stuff; let l = last ">
{{ i }} {{ l === true ? callOnLastIteration() : null}}
</div>
mówię „(w większości) działa”, ponieważ wydaje się, że jeśli starają się powiązać z właściwością wewnątrz -ED elementu *ngFor
, inny niż ten, który jest powtarzanie a następnie zmienić wartość wspomniana właściwość wewnątrz funkcji wywoływanej w ostatniej iteracji, dostaniesz niepożądane zachowanie i błędy z systemu propagacji zmian Angulara. Zobacz szczegóły Plunkera.