需求: 如果你没有登录过, 不允许你访问其他页面
解析:
router.beforeEach( ( to,from,next ) => {
to : 要跳转的目标对象
form: 从哪里跳转过来的
next: 函数
- next() :
放你走
- next( false ) :
不放你走
- next( ’ / ’ ) ==> 跳转 指定要跳转的路径
} )
解决办法:
- 判断访问的是不是登录页
- 是的话,就 next()
- 如果不是登录页
- 就判断token有没有值
- 先获取本地的token
- 再三元判断 ==> token ?
- true ==> next()
- false ==> next(’ /login ')
模拟逻辑:
* 1. 先判断要跳转的页面是不是登录页,如果是,直接让他跳转
* 2. 如果不是登录页,就需要先获取 本地的token, 用三元判断 token有没有值, 有值的话,就让他跳转, 如果没有就跳转到 登录页
router.beforeEach((to, from, next) => {
// to: 要跳转的目标对象
// from: 从哪里跳转过来
// next 函数 ==> next() 让你跳转 / next('/') 跳转指定页面 / next(false) ==> 不给跳转
if (to.path === '/login') {
next()
} else {
let token = localStorage.getItem('token')
token ? next() : next('/login')
}
})