当我们在未登录账号时,我们去往购物车时,本应发送请求获取购物车的列表,可未登录则没有token则发送请求时会获取不到信息,此使则应使用导航守卫,让未登录账号时,不能到购物车页面或者其他,应直接跳转到登录页面
前端router/index.js中写(配置路由的地方)
router.beforeEach((to, from, next) => {
//未登录不能进入的路由名
let nextRoute = ["cart", "path", "index", "path-list"];
//是否是登录中
let userInfo = JSON.parse(localStorage.getItem("teaUserInfo"));
//要去的地址在nextRoute的数组中,则执行
//当前进入的页面是否需要验证
if (nextRoute.indexOf(to.name) >= 0) {
if (!userInfo) {
router.push("/login");
}
}
next();
});