可以在存储空间中创建一个全局变量吗?我想创建一个用于轮询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;
}
}
}
}
}
这样做很好,但外面的变量让我很困扰。因为我不知道这样做是否正确,我想一定有更好的方法。
Vuex存储有动作,突变,getters和状态。在这里,状态是一个我们可以声明可变量的地方,并且存储在整个应用程序中都可以访问。我们可以使用state来声明vuex内部的变量。