Начиная с новой версии Svelte v3, я пытаюсь перевести мой код v2 в новую версию.Я перевел вычисленную часть в функцию стрелки Javascript.Я хочу установить возвращаемое значение из функции в ту же переменную, в которой существует функция стрелки.Я также пытался сделать:
calendar = () => {...}
, но в этом случае браузер интерпретирует функцию стрелки как метод по умолчанию.
$: calendar => {
// Function to calculate the calendar which updates every change
let calendarArr = [];
const offset = new Date(
selectedDate.getFullYear(),
selectedDate.getMonth(),
1
).getDay();
//number of days in selected month
const days =
32 -
new Date(selectedDate.getFullYear(), selectedDate.getMonth(), 32).getDate();
//for each potential cell(empty cells + day cells)
for (let d = 0; d < days + offset; d++) {
//start new row if 0th, 7th, 14th etc day
if (d % 7 == 0) calendarArr.push([]);
//push cell into the row
calendarArr[Math.trunc(d / 7)].push(
d - offset < 0
? null
: new Date(
selectedDate.getFullYear(),
selectedDate.getMonth(),
d - offset + 1
)
);
}
console.log(calendarArr);
return calendarArr; // -> I want to set this as the calendar value
};