在做單頁面應(yīng)用程序時(shí),一般頁面布局頭尾兩塊都是固定在布局頁面,中間為是路由入口。這時(shí)訪問頁面時(shí)頭部標(biāo)題不會(huì)變,該問題的解決方案如下:
成都創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比武勝網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式武勝網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋武勝地區(qū)。費(fèi)用合理售后完善,十載實(shí)體公司更值得信賴。
通過采用組件內(nèi)路由衛(wèi)士(beforeRouterEnter、beforeRouterUpdate)與路由元信息(meta) 來實(shí)現(xiàn)更新頭部標(biāo)題信息。點(diǎn)擊查看文檔
beforeRouterEnter:第一次進(jìn)入時(shí)調(diào)用。
beforeRouterUpdate:重復(fù)使用當(dāng)前組件時(shí)調(diào)用。
效果圖如下:
注意看頁面標(biāo)題與圖標(biāo)變換
路由元信息(meta)配置
在路由元信息中配置頁面標(biāo)題,通過組件內(nèi)路由衛(wèi)士獲取
const router = new Router({ mode: 'history', base: process.env.BASE_URL, routes: [ { path: "help", name: "help", meta: { title: "新手幫助" }, component: () => import('./views/Help.vue') }, { path: "page", name: "page", meta: { title: "寶貝信息" }, component: () => import('./views/Page.vue') } ] })
路由布局頁面
header 與 footer 是固定頭尾, main為路由入口。 title為頁面標(biāo)題
<template> <div id="app"> <header class="header"> <button @click="back" class="t-xiaoxi iconfont" v-html="icon"></button> <h2 class="t-title">{{title}}</h2> <router-link to="/search" class="t-sousuo iconfont"></router-link> </header> <div class="main"> <router-view></router-view> </div> <footer class="footer"> // ... </footer> </div> </template>
在beforeRouteEnter、beforeRouteUpdate函數(shù)中獲取路由元信息,并更新頁面標(biāo)題。
beforeRouteEnter:當(dāng)?shù)谝淮芜M(jìn)入時(shí),會(huì)被標(biāo)題進(jìn)行一次初始化操作
beforeRouteUpdate:當(dāng)組件被重復(fù)調(diào)用時(shí),執(zhí)行更新操作。
<script> export default { name: "app", data() { return { title: "我的網(wǎng)站", url: '/', icon: '' } }, methods: { back() { this.$router.go(this.url); }, update(route) { [this.title, this.url, this.icon] = ["我的網(wǎng)站", '/', '']; if (!['', '/'].includes(route.path)) { // 判斷是否根頁面,用于切換標(biāo)題與返回上一頁或回到主頁 [this.title, this.url, this.icon] = [route.meta.title || "", '-1', '']; } } }, beforeRouteEnter(to, from, next) { next(vm => { //回調(diào)函數(shù),此時(shí)this指針不可用,可采用回調(diào)函數(shù)訪問。 vm.update(to); }) }, beforeRouteUpdate(to, from, next) { this.update(to); next(); } }; </script>
總結(jié)
以上所述是小編給大家介紹的vue router 通過路由來實(shí)現(xiàn)切換頭部標(biāo)題功能,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)創(chuàng)新互聯(lián)網(wǎng)站的支持!
如果你覺得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
網(wǎng)站標(biāo)題:vuerouter通過路由來實(shí)現(xiàn)切換頭部標(biāo)題功能
本文來源:http://jinyejixie.com/article20/gpgsco.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、做網(wǎng)站、外貿(mào)建站、企業(yè)網(wǎng)站制作、品牌網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)