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 放行

原文出处:http://www.dongblog.com/notes/89.html
来源:博客网 转载请注明出处!

活跃用户

ㄖǒㄖド
Ta还没有签名
,
Ta还没有签名
合作合作
Ta还没有签名
Soul Sacrifice
Ta还没有签名

友情链接


Warning: Smarty error: unable to read resource: "../../../templates/default/./common/foot/footer_index.htm" in /usr/home/hyu3925200001/htdocs/common/smarty/Smarty.class.php on line 1093

Warning: Smarty error: unable to read resource: "../../../templates/default/./common/foot/footer_index.htm" in /usr/home/hyu3925200001/htdocs/common/smarty/Smarty.class.php on line 1093