vue-router的导航钩子有哪些

问答分类: 云服务vue-router的导航钩子有哪些
0

vue-router的导航钩子有哪些

1 回复
0
产品小红书 回复于 2021-08-11 之前

vue-router的导航钩子有:1.全局导航钩子;2.组件内的钩子;3.单独路由独享组。

vue-router的导航钩子有三种,分别是:1.全局导航钩子;2.组件内的钩子;3.单独路由独享组,主要是用来拦截导航,让他完成跳转或取消,以下是导航钩子的使用示例:

1.全局导航钩子。

注意:全局导航钩子主要有前置守卫和后置钩子两种。

//前置守卫

const router = new VueRouter({ … });

router.beforeEach((to, from, next) => {

// do someting

});

//后置钩子

router.afterEach((to, from) => {

// do someting

});

2.组件内的钩子。

注意:组件内的导航钩子主要有beforeRouteEnter、beforeRouteUpdate、beforeRouteLeave这三种。

const File = {

    template: `<div>This is file</div>`,

    beforeRouteEnter(to, from, next) {

        // do someting

        // 在渲染该组件的对应路由被 confirm 前调用

    },

    beforeRouteUpdate(to, from, next) {

        // do someting

        // 在当前路由改变,但是依然渲染该组件是调用

    },

    beforeRouteLeave(to, from ,next) {

        // do someting

        // 导航离开该组件的对应路由时被调用

    }

}

3.单独路由独享组。

//在路由配置上直接进行定义

cont router = new VueRouter({

routes: [

{

path: '/file',

component: File,

beforeEnter: (to, from ,next) => {

// do someting

}

}

]

});