vue.js - 如何从 nuxt 中的 vueRouter 访问 vuex 状态
问题描述
嗨,我正在尝试从 VueRouter 实例访问 vuex 状态,但我无法正确获取状态。
试图访问的$store
属性router.app
说它是空的
这是我的 vueRouter 代码:
router.beforeEach((to, from, next) => {
const isLoggedIn = router.app.$store.getters["user/isLogedIn"];
if (to.name !== "Login" && !isLoggedIn) {
next({ name: "Login" });
} else {
next();
}
});
在 vuex 商店中:
export const getters = {
isLoggedIn(state) {
if (state && state.user) {
console.log("state.user", state.user);
}
return state.user !== null && state.user !== {};
},
};
这是我的 vueRouter 对象:
VueRouter 对象:
这是我遇到的错误:
错误:
解决方案
另一种方法是将您的商店导入路由器文件中,例如
import storeA from './pathToStore'
并在商店中使用
storeA.getters.isLoggedIn
推荐阅读
- javascript - 在两个相同的字符串之间查找文本
- java - 使用 IntelliJ (cmd line template) 时,我在哪里可以找到资源文件的根目录?
- ssh - scp 因“协议错误:文件名与请求不匹配”而失败
- c - 如何在使用while循环和幂函数之间用空格分隔数字
- javascript - lodash - 如果所有值都为空,则从数据表(2D 矩阵)中删除列
- python - 使用数据透视表正确整理数据 - 将索引保留为两级
- zurb-foundation - Intersection Observer API + Foundation 交换
- eclipse - 如何使用 build-helper-maven-plugin 创建额外的目录?
- c# - 我有自 1900 年以来的天数(在 SQL db 中存储为 37867),并希望将其转换为“Sep-5-2003”之类的日期
- swift - 从最后一个模态 UINavigtonController UIViewController 在父 UIViewController 中调用 func