视频中,老师这里跳不到注册页,应该和判断那个地方没关系吧,我的代码和老师的一样,但是我写全路径,不写&&to name !=='register',依然可以跳到注册页
还是说,我的代码哪里有问题啊
登陆购买课程后可参与讨论,去登陆吧
同学你好,意思是这样少写注册的判断就能跳转到注册页面了吗?
老师点击注册按钮测试不会跳转注册页面。没有登录,isLogin的值为false,并且去注册页,不等于Login成立,就会跳转到登录页面,不会是注册页面。也就是加不加to.name!=='register'的条件不影响效果。
不知道同学是怎么测试的,建议重启项目试试。或者将自己router/index.js文件代码全部粘贴上来,不要截图,便于帮助测试。
祝学习愉快!
import { createRouter, createWebHashHistory } from 'vue-router' import Home from '../views/home/Home' import Login from '../views/login/Login' import Register from '../views/register/Register' const routes = [{ path: '/', name: 'Home', component: Home }, { path: '/register', name: 'Register', component: Register }, { path: '/login', name: 'Login', component: Login, beforeEnter(to, from, next) { const { isLogin } = localStorage; isLogin ? next({ name: 'Home' }) : next(); // const isLogin = localStorage.isLogin; // if (isLogin) { // next({ name: 'Home' }); // } else { // next(); // } } }, // { // path: '/about', // name: 'About', // // route level code-splitting // // this generates a separate chunk (about.[hash].js) for this route // // which is lazy-loaded when the route is visited. // component: () => import(/* webpackChunkName: "about" */ '../views/About.vue') // } ] const router = createRouter({ history: createWebHashHistory(), routes }) router.beforeEach((to, from, next) => { const isLogin = localStorage.isLogin; if (!isLogin && to.name !== "Login") { next({ name: 'Login' }); } else { next() } next(); }) export default router
老师,这厮我的代码
老师,我好像找到原因了,
自己能找到问题是很棒的哦!登录过再输入注册地址,isLogin为true,不满足if条件,执行else,就会跳转到注册页面。
另外这里代码这里是多余的,可以去掉
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
登录后可查看更多问答,登录/注册
入行前端,是明智的选择!市场需求大,就业前景好,入行门槛低,小白易上手 全新升级:技术更新,Vue3.0/TypeScript/React17.x; 技术更全面,从0基础到全栈开发再到大型项目构建
157 1
75 1
31 2
200 5
155 1
在线咨询
领取优惠
免费试听
领取大纲
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星