Vuex - 如何在商店中创建一个全局变量?

问题描述 投票:0回答:1

可以在存储空间中创建一个全局变量吗?我想创建一个用于轮询API的时间间隔。现在我做了如下操作。

const refreshData = null;

export default {
    namespaced: true,
    state: {
        ...
    },
    mutations: {
        ...
    },
    actions: {
        pollForData() {
            // Make API call
            .
            .
            .
            // Set interval to poll every 5 seconds if the data has a certain flag
            if(res.data.update) {
                if(!refreshData) {
                    refreshData = setInterval(() => {
                        dispatch('pollForData');
                    });
                }
            } else {
                if(refreshData) {
                    clearInterval(refreshData);
                    refreshData = null;
                }
            }
        }
    }
}

这样做很好,但外面的变量让我很困扰。因为我不知道这样做是否正确,我想一定有更好的方法。

javascript vue.js global-variables vuex
1个回答
0
投票

Vuex存储有动作,突变,getters和状态。在这里,状态是一个我们可以声明可变量的地方,并且存储在整个应用程序中都可以访问。我们可以使用state来声明vuex内部的变量。

© www.soinside.com 2019 - 2024. All rights reserved.