导航栏作为系统的通用组件,我并不想让其显示在登陆页面中,因此可以按照以下方法实现
1.将通用组件如导航栏等和<router-view />放在一起
app.vue

<div>
    <navigation v-if="!$route.meta.showNav"></navigation>
     <router-view />
</div>

2.其中route.meta.showNav是我加入路由中的信息

{
   path: '/',
   component: () => import('../pages/index.vue')
 },
 {
   path: '/login',
   name: 'login',
   component: () => import('../components/login.vue'),
   meta:{
     showNav: true
   }
 },
 {
   path: '/receive',
   name: 'receive',
   component: () => import('../pages/receive.vue')
 },
 ...

可以看到在登陆的路由中我加入了一个meta属性,由于其他组件未定义此showNav,$route.meta.showNav的值为"undefined"即为false,因此只需在登陆中加入此属性并设置为true即可。这样在登陆页面时,导航栏不被显示。

Logo

前往低代码交流专区

更多推荐