meta的定义:meta简单来说就是路由元信息 也就是每个路由身上携带的信息。

meta的作用:vue-router路由元信息说白了就是通过meta对象中的一些属性来判断当前路由是否需要进一步处理,如果需要处理,按照自己想要的效果进行处理即可

用法一:登录校验

router.beforeEach((to, from ,next) => {
    const token = store.getters.userInfo
    if(to.matched.some(record => record.meta.requireAuth)){
        next()//如果路由中有meta的requireAuth,且为true,就不进行登录验证,否则进行登录验证
    }else{
        if(token){
            next()
        }else{
            if(to.path==="/login"){
                next()
            }else{
                next({path:'/login'})
            }
        }
    }
    return
})

用法二:通过路由元信息实现不同路由展示不同布局页面

<template>
  <el-container :class="['app uf-col']">
    <template v-if="$route.meta.fullScreen">
      <router-view></router-view>
    </template>
    <template v-else-if="$route.meta.homePages">
      <Nav></Nav>
      <router-view></router-view>
    </template>
  </el-container>
</template>

Logo

前往低代码交流专区

更多推荐