Ответ 1
Не нужно заново изобретать колесо, 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) }
},
beforeDestroy () {
clearInterval(this.timer)
}
});
new Vue({
el: 'body',
});