Vue自定義部分頁(yè)面顯示導(dǎo)航欄功能
遇到的問(wèn)題:
最近在用Vue+elementUI開(kāi)發(fā)一個(gè)網(wǎng)站的前端,網(wǎng)站的邏輯是沒(méi)有賬號(hào)的用戶先注冊(cè),有賬號(hào)的用戶直接登錄,登錄后才能進(jìn)入網(wǎng)站的主頁(yè)。在設(shè)計(jì)導(dǎo)航欄的時(shí)候,考慮到登錄之前不能瀏覽該網(wǎng)站,所以需要在登錄頁(yè)和注冊(cè)頁(yè)不能出現(xiàn)導(dǎo)航欄,登錄后的頁(yè)面才能出現(xiàn)導(dǎo)航欄。
總結(jié)一下:
具體的需求就是有的頁(yè)面顯示導(dǎo)航欄,有的不顯示,即自定義顯示導(dǎo)航欄的頁(yè)面。
解決方法:
1.先創(chuàng)建一個(gè)放導(dǎo)航欄代碼的Header.vue
<template>
<div>
<el-menu :default-active="activeIndex" class="el-menu-demo" mode="horizontal">
<el-menu-item index="1">
<router-link to="/homepage">
<span>首頁(yè)</span>
</router-link>
</el-menu-item>
<el-menu-item index="2">
<router-link to="/composevideo">
<span>合成視頻</span>
</router-link>
</el-menu-item>
<el-menu-item index="3" disabled>
<router-link to="/">
<span>視頻圈</span>
</router-link>
</el-menu-item>
<el-menu-item index="4">
<router-link to="/useguide">
<span>使用指南</span>
</router-link>
</el-menu-item>
<el-menu-item index="5">
<router-link to="/personalcenter">
<span>個(gè)人中心</span>
</router-link>
</el-menu-item>
</el-menu>
</div>
</template>
<script>
export default {
name: "Header"
}
</script>
<style scoped>
/*由a來(lái)控制router-link*/
a {
text-decoration: none;
color: #000000;
font-family: sans-serif;
font-size: 14px;
}
</style>
2.然后在APP.vue里導(dǎo)入這個(gè)導(dǎo)航
在APP.vue中引入Header.vue,然后用route.meta.keepAlive來(lái)控制是否顯示頭部導(dǎo)航欄
<template>
<div id="app">
<div v-if="$route.meta.keepAlive">
<header-nav></header-nav>
<router-view></router-view>
</div>
<div v-if="!$route.meta.keepAlive">
<router-view></router-view>
</div>
</div>
</template>
<script>
import header from '@/views/Header';
export default{
components: {
headerNav: header,
}
}
</script>
3.修改router/下的index.js
在之前的index.js中新增meta屬性,為keepAlive賦值,需要顯示頭部導(dǎo)航的賦值為true,不需要的為false。
部分代碼如下:
const routes = [
{
path: '/',
name: 'Login',
component: Login,
meta:{
keepAlive: false
}
},
{
path: '/register',
name: 'Register',
component: Register,
meta:{
keepAlive: false
}
},
{
path: '/homepage',
name: 'Homepage',
component: Homepage,
meta:{
keepAlive: true
}
}
]
到此這篇關(guān)于Vue自定義部分頁(yè)面顯示導(dǎo)航欄的文章就介紹到這了,更多相關(guān)Vue導(dǎo)航欄內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Vue3 elementUI如何修改el-date-picker默認(rèn)時(shí)間
這篇文章主要介紹了Vue3 elementUI如何修改el-date-picker默認(rèn)時(shí)間,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-08-08
Ant Design Upload 文件上傳功能的實(shí)現(xiàn)
這篇文章主要介紹了Ant Design Upload 文件上傳功能的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-04-04
記一次用ts+vuecli4重構(gòu)項(xiàng)目的實(shí)現(xiàn)
這篇文章主要介紹了記一次用ts+vuecli4重構(gòu)項(xiàng)目的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05
vue 自定義指令directives及其常用鉤子函數(shù)說(shuō)明
這篇文章主要介紹了vue 自定義指令directives及其常用鉤子函數(shù)說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-01-01
又一款MVVM組件 Vue基礎(chǔ)語(yǔ)法和常用指令(1)
這篇文章主要為大家分享了一款MVVM組件,詳細(xì)介紹了Vue基礎(chǔ)語(yǔ)法和常用指令,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11
vue?element-plus中el-input修改邊框border的方法
element樣式還是蠻好的,只是有時(shí)候我們需要做一些調(diào)整,比如el-input的邊框,下面這篇文章主要給大家介紹了關(guān)于vue?element-plus中el-input修改邊框border的相關(guān)資料,需要的朋友可以參考下2022-09-09

