(Vue.js 新手)我从 get 请求中获取数据以显示日历信息。我希望它每 5 分钟更新一次。
文档中没有关于自动重新加载的内容——我将如何实现它?我是在文件中使用标准的 javascript 还是其他什么东西?
下面是我完整的 app.js:
Vue.component('events', {
template: '#events-template',
data: function() {
return {
list: []
}
},
created: function() {
this.fetchEventsList();
},
methods: {
fetchEventsList: function() {
this.$http.get('events', function(events) {
this.list = events;
}).bind(this);
}
}
});
new Vue({
el: 'body',
});
最佳答案
无需重新发明轮子,window.setInterval()
可以很好地完成这项工作
Vue.component('events', {
template: '#events-template',
data () {
return {
list: [],
timer: ''
}
},
created () {
this.fetchEventsList();
this.timer = setInterval(this.fetchEventsList, 300000);
},
methods: {
fetchEventsList () {
this.$http.get('events', (events) => {
this.list = events;
}).bind(this);
},
cancelAutoUpdate () {
clearInterval(this.timer);
}
},
beforeUnmount () {
this.cancelAutoUpdate();
}
});
new Vue({
el: 'body',
});
关于javascript - vue.js 使用计时器自动重新加载/刷新数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36572540/