Нажатие для использования состояния для l oop in Angular - PullRequest
1 голос
/ 21 марта 2020

Я хочу, чтобы pu sh указывал переменную с помощью a для l oop в Angular, однако я получаю сообщение об ошибке "невозможно установить свойство 'date' из undefined":

export class CalendarComponent implements OnInit {
  days: CalendarDay[]
  iterationDay: CalendarDay
  constructor() {}

  ngOnInit(): void {
    this.generateWeekData()
    console.log(this.days)
  }

  generateWeekData() {
    for (let i = 0; i < 8; i++) {
      let whenEven = i % 2 === 0
      ;(this.iterationDay.date = new Date()),
        (this.iterationDay.quantity = 24 - i),
        (this.iterationDay.price = 13),
        (this.iterationDay.eventType = 'string'),
        (this.iterationDay.isExpenseType = whenEven),
        (this.iterationDay.isHoursEventType = whenEven),
        (this.iterationDay.isAdditionalHoursEventType = whenEven),
        (this.iterationDay.isWorkHour = whenEven),
        (this.iterationDay.isApproved = whenEven),
        (this.iterationDay.isRejected = whenEven),
        (this.iterationDay.tasksCount = 2),
        (this.iterationDay.firstTaskStart = new Date()),
        (this.iterationDay.lastTaskEnd = new Date())

      this.days.push(this.iterationDay)
    }
  }
}

1 Ответ

3 голосов
/ 21 марта 2020

Прежде всего, вам нужно инициализировать iterationDay свойство

Примерно так:

iterationDay: CalendarDay = new CalendarDay()

или

iterationDay: CalendarDay = {};

в зависимости от формы вашего объекта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...