В моем проекте Angular я пытаюсь использовать * ngFor для отображения календаря.
У меня есть месяцы и количество дней в каждом, в массиве объектов:
public months: Array<Object> = [
{ month: "January", days: 31 },
{ month: "February", days: 28 },
{ month: "March", days: 31 },
{ month: "April", days: 30 },
{ month: "May", days: 31 },
{ month: "June", days: 30 },
{ month: "July", days: 31 },
{ month: "August", days: 31 },
{ month: "September", days: 30 },
{ month: "October", days: 31 },
{ month: "November", days: 30 },
{ month: "December", days: 31 },
];
и затем я пытаюсь отобразить их, используя * ngFor. Месяцы отображаются правильно, но я не могу понять, как правильно отображать каждый из дней. Вот что у меня есть для моего HTML:
<div class="year" style="width: 100%; margin-top: 10px;">
<h1 style="text-align: center; font-weight: 500;">2019 Vacation Calendar</h1>
<div class="months" *ngFor="let month of months">
<div class="month">
<ul>
<li>
{{month.month}}<br>
<span style="font-size:18px">{{currentYear}}</span>
</li>
</ul>
</div>
<ul class="weekdays">
<li>Su</li>
<li>Mo</li>
<li>Tu</li>
<li>We</li>
<li>Th</li>
<li>Fr</li>
<li>Sa</li>
</ul>
<ul class="days">
<li *ngFor="let day of month.days; let i=index">{{i}}</li>
</ul>
</div>
</div>
Прямо сейчас, я просто получаю сообщение об ошибке, в котором говорится, что он не может найти «отличающийся поддерживающий объект« 31 »типа« число ». Я почти уверен, что это потому, что я не сделал что-то правильно, чтобы позволить моему ngFor считать от 1 до 31 или сколько бы дней не было в каждом месяце, но я не знаю, как это сделать. Спасибо за любую помощь, спасибо!