vue router常用配置说明

import Vue from 'vue'
import VueRouter from 'vue-router'
import Home from '../views/Home.vue'
import Item from '../views/Item.vue'
import error from '../views/404.vue'
Vue.use(VueRouter)

const routes = [
  {
    path: '/', // 路径
    name: 'app', // 路径的名称
    components: { // 多个   <router-view> 标签设置默认组件
      default: Home
    } // 路径显示的组件
  },
  {
    path: '/home', // 路径
    name: 'home', // 路径的名称
    component: Home, // 路径显示的组件
    meta: {
      requireAuth: true // 判断是否需要路由防卫
    },
    children: [{ // 定义子组件 例如:/item
      path: '/item', // 路径
      component: Item // 路径显示的组件
    }]
  },
  {
    path: '/404', // 路径
    name: 'error', // 路径的名称
    component: error // 路径显示的组件
  },
  {
    path: '*', // 判断是否匹配成功,若没有匹配成功,则重定向到404页面
    redirect: '/404' // 重定向页面路由
  }
]

const router = new VueRouter({
  routes
})

// 路由防卫
router.beforeEach((to, from, next) => {
  if (to.name != 'error') { // 默认情况下应该是login页面
    if (to.meta.requireAuth) { // 判断该路由是否需要安全防卫,可以不设置neta属性,直接判断也可以
      if (sessionStorage.getItem('token')) { // 判断本地是否存在token
        next() // 如果存在继续执行
      } else {
        // 如果不存在,则跳到404路由
        next({ path: '/404' })
      }
    } else { // 如果不需要校验
      if (sessionStorage.getItem('token')) {
        next('/')
      } else {
        next('/404')
      }
    }
  } else {
    next()
  }
})

export default router

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值