您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關(guān)vue中實(shí)現(xiàn)某一些路由頁面隱藏導(dǎo)航欄功能的方法,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
為了將導(dǎo)航欄顯示在每一個(gè)頁面中,可以將導(dǎo)航欄與<router-view>放在同一級顯示,如下:
<header> ... </header> <router-view></router-view>
但是,在某些時(shí)候,我們需要隱藏導(dǎo)航欄顯示,比如登錄界面,為了實(shí)現(xiàn)導(dǎo)航欄的隱藏,可以使用如下代碼:
<header v-show="$route.name!=='login'"> ... </header> <router-view></router-view>
這樣就可以實(shí)現(xiàn)隱藏導(dǎo)航欄。
補(bǔ)充知識:vue+el-menu實(shí)現(xiàn)路由刷新和導(dǎo)航欄菜單狀態(tài)保持(局部刷新頁面)
一、菜單項(xiàng)激活狀態(tài)保持
有時(shí),我們在項(xiàng)目中會有這樣一個(gè)需求,即實(shí)現(xiàn) 一個(gè)側(cè)導(dǎo)航欄,點(diǎn)擊不同的菜單項(xiàng),右邊內(nèi)容會跟著變化,而頁面手動刷新后想要使菜單激活狀態(tài)保持,那么這個(gè)功能該如何實(shí)現(xiàn)呢?
現(xiàn)在給出以下解決辦法:
即加上這樣一段代碼即可:
:default-active="this.$route.path"
二、實(shí)現(xiàn)頁面的路由刷新(局部刷新)
想要實(shí)現(xiàn)路由的刷新,官方并沒有給出解決辦法,通過自己摸索和借鑒,得出了以下解決方法:
首先,新建一個(gè)空白頁面redirect.vue,然后寫入這樣一段代碼:
<script> export default { beforeCreate() { console.log(this.$route) const nextPath = this.$route.query.nextPath this.$router.replace({ path: nextPath}) console.log("調(diào)用") console.log(nextPath) }, render: function(h) { return h() // avoid warning message } } </script>
之后在導(dǎo)航頁加入一個(gè)方法,如下:
//實(shí)現(xiàn)路由的局部刷新 reloadRouter(path) { this.$router.replace({ path: "/redirect", query: { nextPath: path } }); }
再通過給每一個(gè)菜單項(xiàng)添加點(diǎn)擊事件,即可實(shí)現(xiàn)該功能:
看完上述內(nèi)容,你們對vue中實(shí)現(xiàn)某一些路由頁面隱藏導(dǎo)航欄功能的方法有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。