博主:DongJiang
码龄:7年
等级:LV.22级
内容:316
今日访问:2312
访问总量:5936
博客简介:学习与分享
博客创建时间:2018-04-12
博客主页 立即前往
赞助位
成为赞助商

vue-router有哪几种导航钩子?

来源: 2024-05-19 12:08:28 播报

vue-router有3导航钩子分别是:全局导航钩子、组件内的导航钩子、路由独享钩子。

1、全局导航钩子

router.beforeEach(to, from, next): 路由改变前的钩子

作用:路由跳转前触发,跳转前进行判断拦截

const router = new Router({ ... })
router.beforeEach((to, from, next) => {
  //
})

参数:

to: 即将要进入的目标路由对象

from: 当前正要离开的路由,也是一个路由对象

next: 一定要调用该方法来resolve这个钩子

outer.beforeResolve : 在导航被确认之前,同时在所有组件内守卫和异步路由组件被解析之后,该钩子函数就被调用

router.afterEach : 路由改变后的钩子

组件内的导航钩子

1)beforeRouteEnter 在进入当前组件对应的路由前调用

2)beforeRouteUpdate 在当前路由改变,但是该组件被复用时调用

3)beforeRouteLeave 在离开当前组件对应的路由前调用

export default {
    data() { ... },
    beforeRouteEnter(to, from, next) {
        ... ...
    }
}

路由独享钩子

可以在路由配置上直接定义 beforeEnter

cont router = new Router({
   routes: [
       {
           path: '/file',
           component: File,
           beforeEnter: (to, from ,next) => {
               // do someting
           }
       }
   ]
});

参数:

to:即将要进入的目标路由对象

from:当前导航正要离开的路由对象

next 放行

原文出处:
版权声明:本文来源地址若非本站均为转载,若侵害到您的权利,请及时联系我们,我们会在第一时间进行处理。