Tengo una función que devuelve una matriz de objetos como este:
getMonthDaysGrid() { const totalLastMonthDays = this.getFirstDayOfMonth().dayNumber; const totalDays = this.month.numberOfDays + totalLastMonthDays; const monthList = Array.from({ length: totalDays }); for (let i = totalLastMonthDays; i < totalDays; i++) { monthList[i] = { date: i - totalLastMonthDays + 1, month: this.month.name, year: this.month.year, }; } return monthList; }cuando intento hacer un v-for div como este:
<div v-for="(day, idx) in cal.getMonthDaysGrid()" :key="idx"> <p> {{ day.date }} </p> </div>esto me tira este error:
No sé cómo solucionarlo... si hace un bucle en la matriz, ¿cómo es que no puedo acceder a las propiedades del objeto?
Parece que Vue está tratando de acceder a la propiedad antes de que parezca, por lo que primero tendría que verificar si existe o simplemente darle a la matriz de días un valor predeterminado
intenta cambiar tu código a
<div v-for="(day, idx) in cal.getMonthDaysGrid()" :key="idx"> <p> {{ day && day.date }} </p> </div>o para
<div v-for="(day, idx) in cal.getMonthDaysGrid()" :key="idx"> <p> {{ day?.date }} </p> </div>