<div>
<a-button @click="lastWeek()">上一周</a-button>
<a-button @click="today()">今天</a-button>
<a-button @click="nextWeek()">下一周</a-button>
<div class="day" v-for="(day, dayIndex) in getDays(currentDay)">
<div v-if="day.date==defaultDate">'今'</div>
<div v-else>{{day.date.split('-')[2]}}</div>
</div>
</div>
data () {
return {
week: ['一', '二', '三', '四', '五', '六', '日'],
currentDay: moment().format('YYYY-MM-DD'),
defaultDate:moment().format('YYYY-MM-DD'),
subN:0,
addN:0,
}
},
methods:{
getDays(day) {
let arr = []
/* 计算传进来的日期为星期几 */
let weekOfDate = Number(moment(day).format('E'))
// 提前定义好的: this.week = ['一', '二', '三', '四', '五', '六', '日']
for (let i = 0; i < this.week.length; i++) {
arr.push(
{
date: moment(day).subtract(weekOfDate - i - 1, 'd').format('YYYY-MM-DD'),
week: this.week[i]
}
)
}
return arr
},
lastWeek(){
this.subN++
let n =this.subN -this.addN
this.currentDay = moment(this.defaultDate).subtract(7*n, 'd').format('YYYY-MM-DD')
},
nextWeek(){
this.addN++
let m =this.addN-this.subN
this.currentDay = moment(this.defaultDate).add(7*m, 'd').format('YYYY-MM-DD')
},
today(){
this.currentDay=moment().format('YYYY-MM-DD');
},
}
import moment from "moment";