Как создать массив и добавить в него данные в vue

#vue.js

#vue.js

Вопрос:

Я пытаюсь создать простой массив, который копировал бы уже существующие данные из массива объектов в API.

Все это я делаю в части кода. Я объявляю свой массив в:

 data() {
   return {
      Data: null, //this is getting data from API correctly I am interested in Data.hourly[i].dt values(Data.hourly[0].dt = some value (works))
      timetable: [] }}
 

позже я создал метод в методах (который я вызываю, я проверил его) для методов:

 insertTimeTable(){
  for (i in Data.hourly) 
  {
    this.timetable.push({
      date: this.Data.hourly[i].dt})
  }
}
 

Как заставить его работать и почему это не так?

Ответ №1:

вы забываете добавлять this в Data.hourly в цикле for

 insertTimeTable(){
  for (let i in this.Data.hourly) 
  {
    this.timetable.push({
      date: this.Data.hourly[i].dt})
  }
}
 

Комментарии:

1. Верно, но это все равно не сработает даже с этим исправлением.

2. одна из проблем может заключаться в том, что вы получаете значение из API … возможно, функция insertTimeTable() вызывается до передачи значения в объект данных

3. Я обновил свой код, вам нужно объявить переменную, которую вы используете внутри цикла for ..