W aplikacji Angular2 chciałbym iterować przez wszystkie dni między startDate
i endDate
w szablonie. Coś takiego:
<div *ngFor="let date of dateRange(startDate,endDate)">
{{date}}
</div>
Zdaję sobie sprawę, że mogę wstępnie obliczyć wszystkie te daty i zapisać je w tablicy przed ich wyświetleniem, ale wolałbym nie podejmować tej pamięci. Czytałem w javascript funkcje generatora i wygląda na to, że w wanilii javascript mogę to zrobić:
function* dateRange(start,end) {
let cur = start;
while (cur <= end) {
yield cur;
cur.setDate(cur.getDate() + 1);
}
}
Czy istnieje sposób użycia funkcji generatora, takiej jak ta, z komponentu Angular2, który może być użyty w iteratorze szablonu?
Odpowiedzi:
1 dla odpowiedzi № 1że mogę wstępnie obliczyć wszystkie te daty i zapisać je w tablicy przed ich wyświetleniem, ale wolałabym nie podejmować pamięci
Każda pamięć będzie o wiele mniejsza niż pamięć używana przez DOM z tymi wszystkimi elementami domowymi.
Jedyne rozwiązanie, jakie mogę wymyślić to wyjęcie tablicy z generatora przed użyciem ngFor
i w tym momencie dlaczego nie tylko używać tablicy.