javascript - VueJs 从 Vuetify 重新加载一个简单的表
问题描述
所以我有一个 vuetify 简单的表格,显示预约的可用时间。但是,这个时间是从数据库中提取的,并且该信息每 5 分钟更改一次(基于预订或取消的人)。用户将需要刷新表以获取最新更改。我试图在 VueJs 中引入某种自动刷新,每 5 分钟重新加载一次数据。这是我现在被调用的方法
created(){
this.fetchAvailableTimeSlotsData75();
},
method:{
fetchAvailableTimeSlotsData75() {
this.$axios.get('appointments75', {
params: {
date: this.isCurrentMonth(this.strSelectedDate) ? '' : this.strSelectedDate,
week: this.intPageNumber
}
})
.then((objResponse) => {
if(objResponse.status == 200){
// console.log(objResponse.data)
this.total = objResponse.data.total;
this.arrAvailableDates = objResponse.data.dates;
this.arrAppointmentsData = objResponse.data.data;
this.getAppointments();
}
})
.catch((objError) => {
})
.finally(() => {
this.blnLoading = false;
this.snackbar = false
});}
}
在 VueJs 中解决这个问题的最佳方法是什么?有任何想法吗?
解决方案
简单地说,使用setInterval
:
var _timerId;
export default {
data: () => ({
pollingInterval: 1000 * 60 * 5
}),
created() {
this.startPolling(true);
},
methods: {
startPolling(init = false) {
if (init) {
// Call it immediately
this.fetchAvailableTimeSlotsData75();
this.startPolling();
return;
}
_timerId = setInterval(this.fetchAvailableTimeSlotsData75, this.pollingInterval);
}
},
// Optional
destroyed() {
clearInterval(_timerId);
}
}
推荐阅读
- python - 为什么在对 df 中的几列进行分组后使用 df_grouped.loc[] 进行切片时出现错误?
- .net - 在 Mac 上从命令行运行 Dotnet F Sharp 编译器
- jquery - jQuery - 具有多个实例的文件上传器
- r - 将数据集附加到某些列中的数据
- javascript - intellisense / vs code. how to set up javascript imports correctly?
- javascript - Google AutoML nodejs 中的权限错误处理
- r - 选择给定月份中值的第一次和最后一次出现
- matlab - 在matlab中试图同时绘制多个轨迹
- django - 如何将成本除以时间长度(例如 12 个月)以返回每月成本
- matlab - 如何解决错误“文本分散需要文本分析工具箱”?