Javascript 如何在第一个日期和最后一个日期之间填充日期?

Javascript 如何在第一个日期和最后一个日期之间填充日期?,javascript,date,vue.js,calendar,Javascript,Date,Vue.js,Calendar,现在怎么办: Vue代码 new Vue({ el: '#calendar', data() { return { date: new Date(), daysOfWeek: ['pn', 'vt', 'sr', 'cht', 'pt', 'sb', 'vs'] } }, computed: { days() { const date = this.date; let days = [] let amountDays = this.daysInMonth(this.da

现在怎么办:

Vue代码

new Vue({
el: '#calendar',
data() {
return {
  date: new Date(),
  daysOfWeek: ['pn', 'vt', 'sr', 'cht', 'pt', 'sb', 'vs']
 }
},
computed: {
days() {
  const date = this.date;

  let days = []
  let amountDays = this.daysInMonth(this.date.getFullYear(), this.date.getMonth() + 1) // TODO fix 
  for (let i = 1; i <= amountDays; i++) {
    days.push(i)
  }
  return days;
 }
},
methods: {
daysInMonth(year, month) {
  return new Date(year, month, 0).getDate()
  }
 }
})
newvue({
el:“#日历”,
数据(){
返回{
日期:新日期(),
星期天:['pn','vt','sr','cht','pt','sb','vs']
}
},
计算:{
天(){
const date=this.date;
让天数=[]
让amountDays=this.daysInMonth(this.date.getFullYear(),this.date.getMonth()+1)//TODO fix

对于(设i=1;i您需要首先计算出当月第一天的星期几

然后计算出日历面板的第一天

检查以下演示:

Vue.config.productionTip=false
新Vue({
el:“#日历”,
数据(){
返回{
日期:新日期(),
星期天:['pn','vt','sr','cht','pt','sb','vs']
}
},
计算:{
天(){
const date=this.date;
让天数=[]
让amountDays=this.daysInMonth(this.date.getFullYear(),this.date.getMonth()+1)//TODO fix
//获取当月的第一天
让firstDay=新日期(this.Date.getFullYear(),this.Date.getMonth(),1)
//获取星期几(默认Montday为1)
让dayOfWeek=firstDay.getDay()
let addDays=函数(当前,天){
let temp=新日期(当前)
临时设置日期(当前.getDate()+天)
返回温度
}
//获取日历面板的第一天
设targetDate=addDays(第一天,-dayOfWeek)
//循环7*5在这里,您可以根据您的实际需求进行优化。
for(设i=0;i<7*5;i++){
设calendarDay=addDays(targetDate,i)
推送([calendarDay,calendarDay.getDate()]))
}
返程天数;
}
},
方法:{
daysInMonth(年,月){
返回新日期(年、月、0)。getDate()
}
}
})
正文{
保证金:0;
填充:0;
}
* {
框大小:边框框;
}
.日历{
显示器:flex;
证明内容:中心;
边缘顶部:20px;
}
.calendar\u包装器{
宽度:450px;
高度:400px;
填充:20px;
背景:灰色;
}
.日历日{
显示器:flex;
左侧填充:10px;
右边填充:10px;
柔性包装:包装;
}
.日历页脚{
显示器:flex;
证明内容:中心;
}
.日历标题{
显示器:flex;
证明内容:之间的空间;
左侧填充:10px;
右边填充:10px;
背景色:rgba(255、255、255、0.6);
}
.日历日{
宽度:14.2857%;
高度:30px;
颜色:黑色;
字号:18px;
}

{{day}

{{day[1]}


太棒了!非常感谢!