一、全局守卫

进入login页面直接必须授权才能跳转

  1. import Vue from 'vue'
  2. import VueRouter from 'vue-router'
  3. Vue.use(VueRouter)
  4. '''
  5. const router = new VueRouter({
  6. mode: 'history',
  7. routes
  8. })
  9. router.beforeEach((to,from,next) => {
  10. if(to.path==="/login"){
  11. //进入登陆必须授权才能跳转
  12. }else{
  13. next()
  14. }
  15. })
  16. export default router

二、局部守卫

进入/center路由模块之前如何没有登陆授权,则进入登陆页面

  1. //Center.vue
  2. export default {
  3. beforeRouteEnter(to,from,next){
  4. if(false){
  5. next()
  6. }else{
  7. next('/login')
  8. }
  9. }
  10. }
  1. export default {
  2. beforeRouteEnter(to,from,next){
  3. //登陆成功则跳转
  4. if(true){
  5. next()
  6. }else{
  7. next('/login')
  8. }
  9. }
  10. }

2-1 beforeRouteLeave

  1. 路由离开之前
  2. beforeRouteLeave(to,from,next){
  3. if(true){
  4. next()
  5. }else{
  6. next('/login')
  7. }