最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue中使用路由改瀏覽器標(biāo)題和圖標(biāo)

 更新時(shí)間:2022年09月10日 09:53:10   作者:qq_58455089  
這篇文章主要介紹了vue中使用路由改瀏覽器標(biāo)題和圖標(biāo),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

路由改瀏覽器標(biāo)題和圖標(biāo)

 第一種方法:設(shè)置瀏覽器標(biāo)題

router/index.js

 第二種方法:設(shè)置瀏覽器標(biāo)題和圖標(biāo)

public/index.html

創(chuàng)建路由,隨路由顯示網(wǎng)頁(yè)標(biāo)題

從一個(gè)空白頁(yè)開(kāi)始創(chuàng)建路由,網(wǎng)頁(yè)標(biāo)題隨路由進(jìn)行改變。

先看一下效果,結(jié)尾有彩蛋

一、創(chuàng)建一個(gè)新的vue項(xiàng)目

把vue給我們?cè)O(shè)置的原始頁(yè)面home頁(yè)和about頁(yè)及其路由刪掉,留下空白頁(yè),可以看到我這里的網(wǎng)頁(yè)標(biāo)題是我項(xiàng)目的名字,路由呢也是起始路由,沒(méi)有頁(yè)面。

二、路由映射的就是頁(yè)面

所以先要?jiǎng)?chuàng)建我們需要的頁(yè)面,vue的項(xiàng)目下views是放我們的頁(yè)面,一個(gè)首頁(yè)home,一個(gè)展示頁(yè)面show。

三、接下來(lái)就是創(chuàng)建我們這兩個(gè)頁(yè)面所需要的路由

vue項(xiàng)目下的router是創(chuàng)建頁(yè)面路由的地方,我們可以采取路由分模塊的形式,引入到router根目錄下的index。

代碼 ,show.js也是如此

//首頁(yè)路由, 及其匯總
export default {
    path:"/home",    //路由的路徑,會(huì)顯示在地址欄
    name:"home",     //路由的名稱,后期項(xiàng)目做起來(lái)直接拿名稱比較方便
    meta:{           //路由元信息
        title:'首頁(yè)',    //拿取當(dāng)前路由的title
        //這里邊還可設(shè)置其他的狀態(tài),比如登錄的標(biāo)志,路由是否緩存的標(biāo)志
    },
    component: () => import ("@/views/Home"),    //路由映射的頁(yè)面
}

說(shuō)一下,這里為什么要這樣引入組件,采取了一種路由懶加載的模式,官網(wǎng)也有說(shuō)哈, 有的人會(huì)直接放一個(gè)頁(yè)面路徑,比如這樣:component:"@/views/Home", 或者在上面 import Home from"@/views/Home" 進(jìn)來(lái),component:Home, 

這樣也不是不可以只是項(xiàng)目大了加載會(huì)慢, 

官網(wǎng)原話,當(dāng)打包構(gòu)建應(yīng)用時(shí),JavaScript 包會(huì)變得非常大,影響頁(yè)面加載。如果我們能把不同路由對(duì)應(yīng)的組件分割成不同的代碼塊,然后當(dāng)路由被訪問(wèn)的時(shí)候才加載對(duì)應(yīng)組件,這樣就更加高效了。

引入到router根目錄下的index.js

import Vue from 'vue'
import VueRouter from 'vue-router'
import home from "./home.js";
import show from "./show.js";
Vue.use(VueRouter)
const routes = [
  {path:"/", redirect:"home"},       //啟動(dòng)項(xiàng)目重定向到home頁(yè)面
  home, show,            //分路由進(jìn)入后在這里注冊(cè)一下
]
const router = new VueRouter({
  mode: 'history',         //分為hash和history模式,默認(rèn)是history,history帶#號(hào),hash模式需要后臺(tái)進(jìn)行配置
  routes
})
export default router

四、渲染路由

<template>
  <div id="app">
    <router-link v-for="i in nav" :key="i.title" :to='i.path'>{{i.title}}</router-link>
    <router-view />
  </div>
</template>
<script>
export default {
  data(){
    return {
      nav:[
        {title:'首頁(yè)', path:'/home'},
        {title:'展示頁(yè)', path:'/show'},
      ]
    }
  }
}
</script>

vue提供了兩種存在歷史記錄的路由跳轉(zhuǎn),router-link聲明式導(dǎo)航(就是寫(xiě)在標(biāo)簽里的),必須屬性to,要跳轉(zhuǎn)的路由;router.push(),編程式導(dǎo)航(就是寫(xiě)在方法里的),router.push( ’ 路徑 ’ ) 或者 router.push({path: ’ 路徑 ’ , query:‘攜帶的參數(shù)’}),這里我沒(méi)有聲明這個(gè)路由是動(dòng)態(tài)路由,但是依舊可以攜帶參數(shù),

五、隨路由切換改變網(wǎng)頁(yè)標(biāo)題

其實(shí)這里有兩種辦法,前置和后置的路由守衛(wèi)

前置的,在main.js頁(yè)面使用,直接插入代碼就可以了

router.beforeEach((to, from, next) => {
  if (to.meta.title) {
    document.title = to.meta.title
  }
  next()
})

后置的,在router根目錄下的index.js使用

import Vue from 'vue'
import VueRouter from 'vue-router'
import home from "./home.js";
import show from "./show.js";
Vue.use(VueRouter)
const routes = [
 {path:"/", redirect:"home"},       //啟動(dòng)項(xiàng)目重定向到home頁(yè)面
 home, show,            //分路由進(jìn)入后在這里注冊(cè)一下
]
const router = new VueRouter({
  mode: 'history',         //分為hash和history模式,默認(rèn)是history,history帶#號(hào),hash模式需要后臺(tái)進(jìn)行配置
  routes,
})
router.afterEach((to, from) => {
  if (to.meta.title) {
    document.title = to.meta.title
  }
})
export default router

其實(shí)區(qū)別不大,唯一的區(qū)別就是后置的比較保險(xiǎn)一點(diǎn),前置的是還沒(méi)有渲染頁(yè)面,路由一旦終止掉,頁(yè)面還沒(méi)有進(jìn)入,網(wǎng)頁(yè)標(biāo)題就已經(jīng)顯示了,后置的是路由完全進(jìn)入后,才會(huì)顯示網(wǎng)頁(yè)標(biāo)題。看自己需要吧。

六、創(chuàng)建子路由

例如創(chuàng)建home下的子路由,步驟和創(chuàng)建路由一樣,

在home下創(chuàng)建里兩個(gè)頁(yè)面。

在home的路由下創(chuàng)建homepage1和homepage2的子路由

再去把這兩個(gè)頁(yè)面渲染出來(lái)

插一個(gè)小知識(shí):

路由的redirect是可以寫(xiě)成一個(gè)函數(shù)的,當(dāng)你有兩套頁(yè)面,根據(jù)身份id標(biāo)識(shí)來(lái)進(jìn)入到不同的頁(yè)面,比如我登錄了要進(jìn)入個(gè)人中心,個(gè)人中心有會(huì)員和工作人員,個(gè)人信息的頁(yè)面不一樣,但是都要進(jìn)來(lái)就要顯示個(gè)人信息頁(yè),這時(shí)redirect就可以這樣寫(xiě);

引入store 把標(biāo)識(shí)放到store中管理

判斷一下用戶的身份標(biāo)識(shí),根據(jù)標(biāo)識(shí)重定向到什么頁(yè)面

redirect: to => {
   if('id標(biāo)識(shí)'){
        return "路由路徑"
    }else if('id標(biāo)識(shí)'){
        return "路由路徑"
    }
}

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue 項(xiàng)目常用加載器及配置詳解

    vue 項(xiàng)目常用加載器及配置詳解

    本文介紹了vue 項(xiàng)目常用加載器及配置詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-01-01
  • vite基本常見(jiàn)的配置講解

    vite基本常見(jiàn)的配置講解

    這篇文章主要給大家介紹了關(guān)于vite基本常見(jiàn)配置講解的相關(guān)資料,最近做項(xiàng)目要求將webpack打包方式換成vite,下面將詳細(xì)講解一下配置vite需要改動(dòng)的東西,需要的朋友可以參考下
    2023-11-11
  • 實(shí)現(xiàn)一個(gè)Vue自定義指令懶加載的方法示例

    實(shí)現(xiàn)一個(gè)Vue自定義指令懶加載的方法示例

    這篇文章主要介紹了實(shí)現(xiàn)一個(gè)Vue自定義指令懶加載的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • 基于Vue3+Three.js實(shí)現(xiàn)一個(gè)3D模型可視化編輯系統(tǒng)

    基于Vue3+Three.js實(shí)現(xiàn)一個(gè)3D模型可視化編輯系統(tǒng)

    這篇文章主要介紹了基于Vue3+Three.js實(shí)現(xiàn)一個(gè)3D模型可視化編輯系統(tǒng),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-09-09
  • vue router 跳轉(zhuǎn)后回到頂部的實(shí)例

    vue router 跳轉(zhuǎn)后回到頂部的實(shí)例

    今天小編就為大家分享一篇vue router 跳轉(zhuǎn)后回到頂部的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-08-08
  • Vue如何使用百度地圖自定義信息窗口InfoWindow的樣式

    Vue如何使用百度地圖自定義信息窗口InfoWindow的樣式

    這篇文章主要介紹了Vue如何使用百度地圖自定義信息窗口InfoWindow的樣式問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • vue3 reactive函數(shù)用法實(shí)戰(zhàn)教程

    vue3 reactive函數(shù)用法實(shí)戰(zhàn)教程

    reactive是Vue3中提供實(shí)現(xiàn)響應(yīng)式數(shù)據(jù)的方法,reactive的用法與ref的用法相似,也是將數(shù)據(jù)變成響應(yīng)式數(shù)據(jù),當(dāng)數(shù)據(jù)發(fā)生變化時(shí)UI也會(huì)自動(dòng)更新,這篇文章主要介紹了vue3 reactive函數(shù)用法,需要的朋友可以參考下
    2022-11-11
  • Vue中watch監(jiān)聽(tīng)首次不生效的解決辦法

    Vue中watch監(jiān)聽(tīng)首次不生效的解決辦法

    在 Vue 中,watch 屬性用于觀察和響應(yīng) Vue 實(shí)例上數(shù)據(jù)的變動(dòng),然而,默認(rèn)情況下,watch 確實(shí)不會(huì)觸發(fā)組件創(chuàng)建時(shí)的變動(dòng),這里有幾種方式可以處理或繞過(guò)這個(gè)問(wèn)題,需要的朋友可以參考下
    2024-09-09
  • vueScroll實(shí)現(xiàn)移動(dòng)端下拉刷新、上拉加載

    vueScroll實(shí)現(xiàn)移動(dòng)端下拉刷新、上拉加載

    這篇文章主要介紹了vueScroll實(shí)現(xiàn)移動(dòng)端下拉刷新、上拉加載,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • Vuex模塊化和命名空間namespaced實(shí)例演示

    Vuex模塊化和命名空間namespaced實(shí)例演示

    這篇文章主要介紹了Vuex模塊化和命名空間namespaced的相關(guān)知識(shí),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-11-11

最新評(píng)論

沂水县| 临澧县| 大渡口区| 昌黎县| 虞城县| 洛阳市| 通道| 安仁县| 泰顺县| 青岛市| 鄄城县| 曲水县| 车险| 南郑县| 镇宁| 涪陵区| 博野县| 志丹县| 故城县| 双鸭山市| 安庆市| 平乡县| 兴安县| 辉南县| 积石山| 温泉县| 双流县| 吴堡县| 宁津县| 无为县| 平潭县| 中山市| 安新县| 丹寨县| 张家港市| 甘孜县| 缙云县| 扬中市| 教育| 延安市| 渭源县|