(Vue.js新增)我从get请求中获取数据以显示日历信息.我希望每5分钟更新一次.

文档中没有关于自动重新加载的内容——我该如何实现这一点?我是在文件中使用标准javascript还是其他什么?

我的完整apply.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);
        }
    },
    beforeDestroy () {
      this.cancelAutoUpdate();
    }
});

new Vue({
    el: 'body',
});

Vue.js相关问答推荐

Vuetify 2中自定义标头的排序和筛选

可组合数据获取示例

在哪里可以找到在线沙箱 Vuetify 3 模板来创建最小的可重现示例?

传单 vue3 组件变体打开错误的标记 - 单击时弹出

如何使用 vue 或 javascript 向服务器发送密码?

vue.js 在 App.vue 中获取路由名称

指定一个 vue-cli vue.config.js 位置

Vue Table 2 - 自定义过滤器

使用 vuex 更新数据

如何渲染数组以 Select 选项 vue.js

导入没有 .vue 扩展名的 *.vue 文件时出现以下错误?

如何从 vue.js 中的自定义组件中冒泡点击事件?

Axios-一次发出多个请求(vue.js)

取消选中单选按钮

交换数组项

Vue组件未在laravel 5.3中使用Passport 显示

Vuejs css 范围性能

如何在 vue.js 2 上循环对象观察者?

Vue组件如何命名

为什么 router.currentRoute.path 没有react?