前端学习笔记之守卫导航

路由守卫:

路由在跳转之前的验证,当满足条件时才会进行跳转。
1.全局守卫:
定义在router上的路由守卫,全局范围内有效,只要有路径跳转就会触发该守卫。+

router.beforeEach(function(to,from,next){})
router.afterEach(function(to,from){})

参数
to:代表目标路径对象
from:来源路径对象
next:用于决定能否继续跳转

2.路由守卫
路由守卫就是针对单个路由对象配置的守卫。
路由守卫的注册写在路由匹配规则数组里面。
例如:只有跳转到login路由才会触发该守卫。

let router = new Router({
    routes: [
        //...
        {
            path: '/login',
            component: Login,
            beforeEnter: (to, from, next) => {
                next();
            }
        }
    ]
});

3.组件守卫
组件守卫写在组件里,对单个组件进行监听,访问到该组件时才会触发。
以下代码写在相应组件中:

// 在路由跳转时,如果会访问到当前组件,则会触发该守卫
    beforeRouteEnter(to, from, next) {
        next();
    },
    // 在路由跳转时,如果离开当前组件,则会触发该守卫
    beforeRouteLeave (to, from, next) {
       next();
    },
    // 在当前路径下,当路由的参数发生变化时,才会触发该路由守卫
    beforeRouteUpdate(to, from, next) {
        next();
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值