Vue设置导航栏为公共模块并在登录页不显示

Posted kyaya

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Vue设置导航栏为公共模块并在登录页不显示相关的知识,希望对你有一定的参考价值。

1.公共模块的内容可以放在App.vue中
但是通常登录页面是不需要导航的,那么就需要规避登录页
这时,就可以采用keep-alive结合$route.meta来实现这个功能。
keep-alive 是 Vue 内置的一个组件,可以使被包含的组件保留状态,或避免重新渲染。$route.meta则可以选择让需要的页面才展示。修改App.vue,如下:

 

<template>
  <div id="app">
  	    <div v-if="$route.meta.keepAlive">
  	    	<head-nav></head-nav>
  	    	 <router-view></router-view>
  	    </div>
        <router-view v-if="!$route.meta.keepAlive"></router-view>
  </div>
</template>

<script>
import HeadNav from ‘./components/HeadNav‘
export default {
  name: ‘App‘,
  components:{HeadNav},
}
</script>

 

 2.修改index.js代码

import Vue from ‘vue‘
import Router from ‘vue-router‘
import Login from ‘@/components/Login‘
import Qylist from ‘@/components/Qylist‘

Vue.use(Router)

export default new Router({
  routes: [
    {
      path: ‘/‘,
      name: ‘Login‘,
      component: Login,
      meta: {
        keepAlive: false
      }
    },
	{
		path: ‘/project‘,
	    name: Qylist,
	    component: Qylist,
	    meta: {
        	keepAlive: true
      	}
	}
	
  ]
})

 




以上是关于Vue设置导航栏为公共模块并在登录页不显示的主要内容,如果未能解决你的问题,请参考以下文章

Flutter:使用底部导航栏为应用栏颜色设置动画

NavigationItem Titleview 以 IOS 7 下的导航栏为中心 - 不可能?

隐藏/显示片段中的导航元素

导航抽屉异步任务

vue实战(7):完整开发登录页面(一)

vue 如何设置在一级页面有底部导航 进入二级页面隐藏