需求:后端接口返回一个数字,比如i=3,前端允许过去3个月及当前月都允许调整页面内容
思路:把符合条件的年月放到一个数组中,如果页面选择的年月在这个数组中,满足条件
代码:
const monthArr = []
const data = new Date()
data.setMonth(data.getMonth() + 1, 1)// 获取到当前月份,设置月份
for (let i = 0; i <= this.monthSetting; i++) {// monthSetting是接口返回的值,比如结果是1,那就是前一个月以及当前月可以修改页面内容
data.setMonth(data.getMonth() - 1)// 每次循环一次 月份值减1
const m = data.getMonth() + 1
// m = m < 10 ? '0' + m : m 这句我注释掉了,因为我要和v-model 选的年月比较,拼接0好麻烦QAQ
monthArr.push(data.getFullYear() + '-' + (m.toString())) //注释掉上一句的结果就像这样:2023-3,2023-4....
}
var str = Year.toString() + '-' + Month.toString()//简单粗暴的拼接,Year,Month是我选的年月
let condition3 = false
if (monthArr.includes(str)) {
condition3 = true
}
附上我的参考链接:(89条消息) 【function-date】(1)获取过去一年12月份-昨天日期- 获取当前时间节点_前端小云儿的博客-优快云博客