vue-router 做页面拦截问题

需求是

1 登录页→注册第一步
此时在地址栏手动输入路由地址,不能跳转到除了登录页之外的其他路由页面,但是点击页面内的提交按钮可以跳转到 注册第二步

2 在注册第二步的时候,在地址栏输入主页及其他页面的路由。也不能跳转。只有点击页面内的按钮才可以跳转回第一步,或者跳转到主页

3 在主页的时候,在地址栏手动输入第一步第二步的地址,均不可以跳转

https://img4.mukewang.com/5c4030c0000144a205930800.jpg

一只甜甜圈
浏览 672回答 1
1回答

jeck猫

通过判断当前store.state的值决定是否执行next()import router from './config/routes'import store from './store/'router.beforeEach(({ meta, path }, from, next) => {     var { auth = true } = meta     var isLogin = Boolean(store.state.user.username) //true用户已登录, false用户未登录     if (auth && !isLogin && path !== '/login') {         return next({ path: '/login' })     }     if (isLogin && (path === '/login' || path === '/reg')) {         return next({ path: '/' })     }    next()})
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript