Vuex 的自动刷新
Auto Refresh for Vuex
我想为我的 VueX 商店实现自动刷新功能。
用户每次刷新浏览器时,都会触发 VueX 商店中的一个操作,以从 API 调用加载用户配置文件。
不可能实现吗?
import apiService from "@/services/apiService";
import apiUrls from "@/services/apiUrls";
import { getToken } from "@/services/jwtService";
// Code to run actions when user refresh
getToken() !== null ? this.actions.getUserProfile() : "";
const state = {
userProfile: {},
};
const getters = {
userProfile: (state) => state.userProfile,
};
const actions = {
async getUserProfile({ commit }) {
console.log("here");
try {
let response = await apiService.get(apiUrls.PROFILE);
commit("setUserProfile", response.data.data);
} catch (error) {
console.log(error);
}
},
};
谢谢。
用户刷新意味着应用程序将 re-executed。所以基本上 main.js
将是 re-executed、App.vue
re-created 等
这意味着只需在 main.js
或任何 top-level 组件的 created
生命周期挂钩中调用您的代码。
top-level 组件是指在应用程序早期创建的任何组件
我想为我的 VueX 商店实现自动刷新功能。
用户每次刷新浏览器时,都会触发 VueX 商店中的一个操作,以从 API 调用加载用户配置文件。
不可能实现吗?
import apiService from "@/services/apiService";
import apiUrls from "@/services/apiUrls";
import { getToken } from "@/services/jwtService";
// Code to run actions when user refresh
getToken() !== null ? this.actions.getUserProfile() : "";
const state = {
userProfile: {},
};
const getters = {
userProfile: (state) => state.userProfile,
};
const actions = {
async getUserProfile({ commit }) {
console.log("here");
try {
let response = await apiService.get(apiUrls.PROFILE);
commit("setUserProfile", response.data.data);
} catch (error) {
console.log(error);
}
},
};
谢谢。
用户刷新意味着应用程序将 re-executed。所以基本上 main.js
将是 re-executed、App.vue
re-created 等
这意味着只需在 main.js
或任何 top-level 组件的 created
生命周期挂钩中调用您的代码。
top-level 组件是指在应用程序早期创建的任何组件