Javascript VueJs从api json返回的特殊格式副本
我有以下API数据:Javascript VueJs从api json返回的特殊格式副本,javascript,vue.js,nuxt.js,vuetify.js,Javascript,Vue.js,Nuxt.js,Vuetify.js,我有以下API数据: { “数据”:{ “城市”:{ “zip”:“75000”, “任命”:{ "2020-10-12": { "08:00:00": 3, "09:15:00": 3, "10:30:00": 3, "11:45:00": 3, "13:00:00": 3, "14:15:00": 3, "15:30:00": 3 }, } } } } 这是从数据库中提取的。但是,数据库会根据过去的时间清除约会。例如,如果当前是下午1点,则在此之前的所有约会都将被清除。如果time>=不渲
{
“数据”:{
“城市”:{
“zip”:“75000”,
“任命”:{
"2020-10-12": {
"08:00:00": 3,
"09:15:00": 3,
"10:30:00": 3,
"11:45:00": 3,
"13:00:00": 3,
"14:15:00": 3,
"15:30:00": 3
},
}
}
}
}
这是从数据库中提取的。但是,数据库会根据过去的时间清除约会。例如,如果当前是下午1点,则在此之前的所有约会都将被清除。如果time
>=不渲染的日期,我需要找到一种有条件地渲染的方法
这是我的模板:
{{$moment(intIndex,[“HH:mm:ss”])。格式('HH:mma')}
没有一个
我的axios:
this.arrAvailableDates=objResponse.data.dates;
this.arrappointsdata=objResponse.data.data;
您可以使用来解析约会对象中的日期和时间,该对象可以使用和进行迭代,如下所示:
函数可用性要点(应用、到期){
返回Object.entries(appts)
.reduce((上一个[日期,时间])=>{
如果(次){
时间=对象。键(时间)
.filter((time)=>Date.parse(`${Date}T${time}`)>=expiry)
.减少((p,c)=>{
p[c]=乘以[c]
返回p
}, {})
}
上一次[日期]=次
返回上一个
}, {})
}
用法如下:
const appts=availableapoints(sampleData.data.City.appointment,Date.now())
// => {
// "2020-10-12": {},
// "2020-10-14": {
// "14:15:00": 3,
// "15:30:00": 3
// },
// "2020-10-22": {
// "08:00:00": 3,
// "09:15:00": 3,
// "10:30:00": 3,
// "11:45:00": 3,
// "13:00:00": 3,
// "14:15:00": 3,
// "15:30:00": 3
// }
// }
您可以使用来解析约会对象中的日期和时间,该对象可以重复使用,如下所示:
函数可用性要点(应用、到期){
返回Object.entries(appts)
.reduce((上一个[日期,时间])=>{
如果(次){
时间=对象。键(时间)
.filter((time)=>Date.parse(`${Date}T${time}`)>=expiry)
.减少((p,c)=>{
p[c]=乘以[c]
返回p
}, {})
}
上一次[日期]=次
返回上一个
}, {})
}
用法如下:
const appts=availableapoints(sampleData.data.City.appointment,Date.now())
// => {
// "2020-10-12": {},
// "2020-10-14": {
// "14:15:00": 3,
// "15:30:00": 3
// },
// "2020-10-22": {
// "08:00:00": 3,
// "09:15:00": 3,
// "10:30:00": 3,
// "11:45:00": 3,
// "13:00:00": 3,
// "14:15:00": 3,
// "15:30:00": 3
// }
// }
首先使用一个计算属性重塑json数据并过滤掉已过期的约会。首先使用一个计算属性重塑json数据并过滤掉已过期的约会。