vue中路由守卫的设置?

我在vue-cli项目中,有个父路由,下面若干子路由。如下图
图片描述

现在我想设置路由守卫,是整个路由集都得由同一个条件来判断,路由守卫写在上面地方才行?想只写一次,不单独给每个子路由都去设置了。

阅读 6.8k
3 个回答

请教了一下微信群里的大佬。
可以这样做全局守卫,先将需要进行路由判断的 name写到一个数组里面,再用to.name方法进行判断。

router.beforeEach((to, from, next) => {
    if(to.path=='/xxxx'){    
        xxxxxx;
        next()
    }
}

你这个写法应该是 vue-router 吧, vue-router 常见有三种格式的路由守卫:

1) 全局路由守卫

如 beforeEach, afterEach

2) 路由独享守卫

如 beforeEnter

3) 组件独享守卫

如 beforeRouterEnter, beforeRouterUpdate, beforeRouterLeave

他们的应用场景各不相同,你问的太宽泛,所以都有可能。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题