你可以使用Vue.js来制作一个简易日历。:
<!DOCTYPE html>
<html>
<head>
<title>Vue简易日历</title>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<style>
table {
border-collapse: collapse;
}
td {
border: 1px solid black;
padding: 5px;
}
th {
background-color: lightgray;
border: 1px solid black;
padding: 5px;
}
</style>
</head>
<body>
<div id="app">
<h1>简易日历</h1>
<table>
<thead>
<tr>
<th v-for="day in daysOfWeek">{{ day }}</th>
</tr>
</thead>
<tbody>
<tr v-for="week in calendar">
<td v-for="day in week">{{ day }}</td>
</tr>
</tbody>
</table>
</div>
<script>
new Vue({
el: '#app',
data: {
daysOfWeek: ['周日', '周一', '周二', '周三', '周四', '周五', '周六'],
calendar: [],
},
created() {
this.generateCalendar();
},
methods: {
generateCalendar() {
const today = new Date();
const year = today.getFullYear();
const month = today.getMonth();
const firstDayOfMonth = new Date(year, month, 1);
const lastDayOfMonth = new Date(year, month + 1, 0);
const firstDayOfWeek = firstDayOfMonth.getDay();
const lastDayOfWeek = lastDayOfMonth.getDay();
const daysInMonth = lastDayOfMonth.getDate();
const calendar = [[]];
let weekIndex = 0;
for (let i = 0; i < firstDayOfWeek; i++) {
calendar[weekIndex].push('');
}
for (let day = 1; day <= daysInMonth; day++) {
if (calendar[weekIndex].length === 7) {
calendar.push([]);
weekIndex++;
}
calendar[weekIndex].push(day);
}
for (let i = lastDayOfWeek + 1; i < 7; i++) {
calendar[weekIndex].push('');
}
this.calendar = calendar;
},
}
});
</script>
</body>
</html>
你可以将此代码保存到一个HTML文件中,并在浏览器中打开查看结果。该日历将显示当前月份的日历表格。