Начнем с того, что @ wentjun описал, и добавьте (навигацию) событие в свой шаблон.
Из того, что я понимаю, бизнес-логика очень специфична, и вам необходимо установить конкретныедаты при переходе к определенным месяцам.
Поэтому для этого вам нужно какое-то отображение.
Событие nagigate
предоставит вам этот вид данных средидругое: next : { year: number; month: number; }
Для отображения вы будете использовать номер месяца.
Создайте перечисление месяцев, чтобы мы сделали что-то приятное и удобочитаемое:
enum MonthList{
January = 1,
February,
March,
April,
May,
June,
July,
August,
September,
October,
November,
December
}
А теперьсделайте отображение:
const DATES_MAP = {
[MonthList.January]: 20,
[MonthList.February]: 14,
[MonthList.March]: 24,
[MonthList.April]: 5,
[MonthList.May]: 6,
[MonthList.June]: 7,
[MonthList.July]: 8,
[MonthList.August]: 12,
[MonthList.September]: 13,
[MonthList.October]: 14,
[MonthList.November]: 3,
[MonthList.December]: 3,
}
Теперь, снова как @ wentjun , вы будете использовать данные из события и установить желаемый день таким способом:
onNavigate(event) {
this.selected = {
year:event.next.year,
month: event.next.month,
day:DATES_MAP[event.next.month]
}
}
Я также добавил вам возможность отключать определенные дни в месяце.
И вы можете проверить все это здесь