1、在某些页面中,没有登录的时候也能访问一些页面,但是一旦使用了某些功能后,就会让用户登录;或者访问页面的时候必须登录的情况下,就自动跳转到登录页进行登录
2、如何使用导航守卫 :
设置白名单在没有登录的时候也能访问,其它页面则需要登录才能访问
3、代码实现 vue2 :
router => index.js
router.beforeEach((to, from, next) => {
const Id = window.sessionStorage.getItem("Id") // 拿到用户登录的Id
if (['login', 'register'].includes(to.name)) { // []中的是白名单,不需要登录即可查看;如果包含
next() // 则放行去到对应界面
} else {
Id ? next() : next("/login") // 如果去的页面不是白名单的页面,则判断是否登录;如果登录则放行,如果没有,则去到login页面
}
})
4、亦可在if-else中设置一些逻辑处理,比如权限管理,进行角色划分,某些角色可以访问该页面,某些角色不能访问该页面等效果