vue中的路由导航守卫

本文详细介绍了Vue中的路由导航守卫,包括全局守卫、组件守卫、路由独享守卫及其操作流程。讲解了如何利用beforeEach、beforeRouteEnter等钩子函数实现权限控制和导航拦截,确保在正确状态下展示页面。
摘要由CSDN通过智能技术生成
1: 全局守卫

使用 router.beforeEach 注册一个全局前置守卫:

const router = new VueRouter({
    ... })

router.beforeEach((to, from, next) => {
   
  // ...
})
  • 回调函数中的参数:
    to:进入到哪个路由去 ;
    from:从哪个路由离开 ;
    next: 决定是否展示你要看到的路由页面
  • main.js中设置全局守卫:

*在main.js中,有一个路由实例化对象router。在main.js中设置守卫已是全局守卫。

方案一:
  • 在需要触发跳转的路由内设置meta属性,其属性值可设为pathAuth: true
  • 判断to. meta. pathAuth 是否存在。
  • 存在就判断登录的用户名是否存在? 存在呢就next()直接跳往下一个路由; 如果不存在登录用户名,就next(‘/登录路由名’)
import store from '../store/index.js'
router.beforeEach((to,from,next)=>{
   
  	if(to.meta.pathAuth){
   //存在
	 	 if(store.state.loginName){
   
	    	 next(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值