国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

vue路由的兩種模式 hash與history

這篇具有很好參考價值的文章主要介紹了vue路由的兩種模式 hash與history。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

哈希路由,js,vue.js,哈希算法,前端


vue路由是什么?

Vue 路由是 Vue.js 框架提供的一種機(jī)制,用于實(shí)現(xiàn)單頁面應(yīng)用(Single-Page Application,簡稱 SPA)中的前端路由功能。它允許通過定義不同的路由路徑和對應(yīng)的組件,來管理應(yīng)用程序中不同頁面或視圖的展示和切換。

Vue 路由使用了瀏覽器的 History API 或 hash(#)來實(shí)現(xiàn)路由導(dǎo)航。通過配置路由映射關(guān)系,將 URL 的不同路徑與對應(yīng)的 Vue 組件關(guān)聯(lián)起來。當(dāng)用戶點(diǎn)擊鏈接或執(zhí)行特定操作時,Vue 路由可以動態(tài)地加載所需的組件并更新頁面內(nèi)容,而無需重新加載整個頁面。這樣,用戶可以在單頁應(yīng)用中快速、平滑地切換頁面,獲得更好的用戶體驗(yàn)。

在 Vue 路由中,可以定義多個路由,并指定每個路由對應(yīng)的路徑和組件??梢酝ㄟ^編程式導(dǎo)航或聲明式導(dǎo)航的方式,根據(jù)具體的需求,在不同的組件之間切換路由。Vue 路由還支持參數(shù)傳遞、路由守衛(wèi)、嵌套路由等功能,以滿足復(fù)雜的應(yīng)用場景。

使用 Vue 路由,可以輕松構(gòu)建交互豐富、界面流暢的單頁面應(yīng)用,有效管理頁面之間的導(dǎo)航和狀態(tài)切換。

Vue的路由有兩種模式:Hash 模式和 History 模式。


Hash 模式

在這種模式下,URL 中的路由路徑會以 # 符號作為分隔符。例如,http://example.com/#/home。
Hash 模式的好處是它不會觸發(fā)頁面的刷新,所有的路由都在客戶端進(jìn)行處理,并且兼容性較好,可以在不同的瀏覽器和服務(wù)器配置中使用。

Vue 路由的 Hash 模式是通過修改 URL 中的哈希(hash)部分來實(shí)現(xiàn)的。在 Hash 模式下,URL 中的路由路徑會以 # 符號作為分隔符。例如,http://example.com/#/home。

當(dāng)用戶切換路由時,Vue 路由會監(jiān)聽 URL 的 hashchange 事件,一旦 URL 的哈希部分發(fā)生變化,它就會根據(jù)新的哈希值找到對應(yīng)的路由配置,并動態(tài)地加載所需的組件并更新頁面內(nèi)容,形成頁面無刷新的效果。

所以,在使用 Hash 模式時,每次切換路由都會修改 URL 的哈希部分,而不會改變實(shí)際的 URL 路徑,因此刷新頁面或直接訪問某個子路由時,需要保證服務(wù)器能正確響應(yīng)前端路由請求,返回正確的頁面內(nèi)容。

Hash具體的原理如下:
  1. Vue 路由會創(chuàng)建一個全局的監(jiān)聽器,監(jiān)聽瀏覽器的 hashchange 事件。
  2. 當(dāng)用戶點(diǎn)擊鏈接或執(zhí)行特定操作時,Vue 路由會將對應(yīng)的路由路徑解析出來,并將該路徑的哈希部分設(shè)置為當(dāng)前 URL 的哈希部分。例如,點(diǎn)擊了一個鏈接,將路由路徑 ‘/home’ 解析出來,然后將 ‘home’ 設(shè)置為 URL 的哈希部分,即 http://example.com/#/home。
  3. 瀏覽器會自動觸發(fā) hashchange 事件,Vue 路由監(jiān)聽到事件后,根據(jù)新的哈希值找到對應(yīng)的路由配置,并根據(jù)配置信息動態(tài)加載對應(yīng)的組件,更新頁面內(nèi)容,完成路由導(dǎo)航的過程。
Hash 模式的好處
  • 不會觸發(fā)頁面的刷新
  • 所有的路由都在客戶端進(jìn)行處理
  • 并且兼容性較好
  • 可以在不同的瀏覽器和服務(wù)器配置中使用
缺點(diǎn)

但同時,URL 中的 # 符號可能對SEO不太友好,并且在 URL 中出現(xiàn)了冗余信息。


History 模式

在這種模式下,URL 中的路由路徑?jīng)]有 # 符號,看起來更加美觀。例如http://example.com/home。
History 模式依賴 HTML5 的 History API,它通過修改瀏覽器的歷史記錄來實(shí)現(xiàn)前端路由的切換。與 Hash 模式相比,History 模式的 URL 更加友好,但需要服務(wù)器配置支持,確保在每個路由都返回正確的頁面,即使在刷新頁面或直接訪問某個子路由時也能正常工作。

在 Vue 中,默認(rèn)采用的是 Hash 模式,你可以通過配置 mode: ‘history’ 來啟用 History 模式,同時需要在服務(wù)器端進(jìn)行相應(yīng)的配置,以確保在各種情況下都能正確響應(yīng)前端路由請求。

總結(jié)一下,Hash 模式使用 # 符號,不會觸發(fā)頁面刷新,兼容性較好;History 模式去除了 # 符號,需要服務(wù)器配置支持,URL 更加友好。

實(shí)現(xiàn) History 模式的原理如下:
  1. 當(dāng)用戶訪問一個 Vue 路由應(yīng)用時,服務(wù)器需要配置一個默認(rèn)頁面(比如 index.html),用于處理與前端路由相關(guān)的請求。
  2. 當(dāng)用戶切換路由時,Vue 路由會調(diào)用瀏覽器的 History API,通過 pushState 或 replaceState 方法修改當(dāng)前的歷史記錄,并將新的路徑添加到瀏覽器的歷史棧中。
  3. Vue 路由還會監(jiān)聽 popstate 事件,當(dāng)用戶點(diǎn)擊瀏覽器的前進(jìn)或后退按鈕時,會觸發(fā)該事件,Vue 路由會根據(jù)新的路徑找到對應(yīng)的路由配置,并動態(tài)地加載所需的組件并更新頁面內(nèi)容,完成路由導(dǎo)航的過程。

在 History 模式下,服務(wù)器需要正確配置,確保在直接訪問某個子路由時返回應(yīng)用的默認(rèn)頁面(比如 index.html),這樣前端路由才能接管路由請求并正確展示對應(yīng)的頁面內(nèi)容。

History 模式的好處

History 模式相比于 Hash 模式更加符合傳統(tǒng)的 URL 形式,沒有冗余的 # 符號,對搜索引擎更友好。

缺點(diǎn)

但需要注意的是,在使用 History 模式時,服務(wù)器需要正確配置以處理前端路由請求,并且要注意兼容性,因?yàn)橐恍┡f版本的瀏覽器可能不支持 History API。如果在不支持的情況下,Vue 路由會自動降級到 Hash 模式來保證路由功能的正常運(yùn)行。文章來源地址http://www.zghlxwxcb.cn/news/detail-692857.html

到了這里,關(guān)于vue路由的兩種模式 hash與history的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 前端路由hash模式以及history模式詳解

    前端路由hash模式以及history模式詳解

    在前后端分離的項(xiàng)目中,前端一般使用 SPA 單頁面應(yīng)用模式來開發(fā)項(xiàng)目。那么,什么是 SPA 呢? 單頁Web應(yīng)用(single page web application,SPA),就是只有一張Web頁面的應(yīng)用,是加載單個HTML 頁面并在用戶與應(yīng)用程序交互時動態(tài)更新該頁面的Web應(yīng)用程序。 我的理解: 單頁面應(yīng)用就是

    2024年02月10日
    瀏覽(27)
  • 解密前端路由: hash模式vs.history模式

    解密前端路由: hash模式vs.history模式

    當(dāng)你構(gòu)建一個網(wǎng)站時,可能會遇到如何處理 URL 的問題。在URL中,有兩種常見的模式: hash模式和history模式 。 1. Hash模式(哈希模式): 在 hash 模式中, URL 中的 hash (即#號后面的部分)用于標(biāo)記網(wǎng)頁的不同部分或狀態(tài)。當(dāng) URL 的 hash 發(fā)生改變時,頁面不會重新加載,而是通

    2024年02月11日
    瀏覽(31)
  • 路由的hash和history模式的區(qū)別

    路由的hash和history模式的區(qū)別

    目錄 ? 路由模式概述 一. 路由的hash和history模式的區(qū)別 1. hash模式 2. history模式 3. 兩種模式對比 二. 如何獲取頁面的hash變化 單頁應(yīng)用是在移動互聯(lián)時代誕生的,它的目標(biāo)是不刷新整體頁面,通過地址欄中的變化來決定內(nèi)容區(qū)域顯示什么內(nèi)容。 要達(dá)成這個目標(biāo),我們要用到前

    2024年02月14日
    瀏覽(23)
  • Vue history和hash模式

    ???????? ~~~~~~~~ ? ? ? ? ? ? ? ? 在Vue.js中,路由模式是用來管理應(yīng)用程序中不同頁面之間的導(dǎo)航的機(jī)制。Vue Router支持兩種常見的路由模式:history模式和hash模式。 History 模式: ???????? ~~~~~~~~ ? ? ? ? ? ? ? ? History模式使用瀏覽器的history.pushState API 來管理路由。它

    2024年02月12日
    瀏覽(28)
  • vue3中路由hash與History的設(shè)置

    ?history模式直接指向history對象,它表示當(dāng)前窗口的瀏覽歷史,history對象保存了當(dāng)前窗口訪問過的所有頁面網(wǎng)址。URL中沒有#,它使用的是傳統(tǒng)的路由分發(fā)模式,即用戶在輸入一個URL時,服務(wù)器會接收這個請求,并解析這個URL,然后做出相應(yīng)的邏輯處理。 當(dāng)使用history模式時,

    2024年02月16日
    瀏覽(30)
  • Vue-router中的Hash模式與History模式

    在Vue Router中,Hash模式是一種URL的哈希模式,也被稱為錨點(diǎn)模式。在Hash模式下,URL中的哈希部分(即#號后面的內(nèi)容)會被用作路由的標(biāo)識符,而不會觸發(fā)瀏覽器向服務(wù)器發(fā)送請求。 Hash模式的URL示例: http://example.com/#/home 在Hash模式下,Vue Router會監(jiān)聽URL中哈希部分的變化,并

    2024年02月15日
    瀏覽(18)
  • Vue3 Vue-Router詳解 Vue3配置hash 和 history路由、Vue3封裝的路由hook函數(shù)(useRouter,useRoute)的使用 路由懶加載、路由分包處理、魔法注釋的使用

    ?html部分 js部分 ?html頁面使用路由傳來的參數(shù) ?獲取router跳轉(zhuǎn)id 獲取?路由跳轉(zhuǎn)錯誤地址

    2024年02月11日
    瀏覽(23)
  • VUE 配置history路由模式配置

    vue-router 默認(rèn) hash 模式 —— 使用 URL 的 hash 來模擬一個完整的 URL,于是當(dāng) URL 改變時,頁面不會重新加載。 如果不想要很丑的 hash,我們可以用路由的 history 模式,這種模式充分利用 history.pushState API 來完成 URL 跳轉(zhuǎn)而無須重新加載頁面。 當(dāng)你使用 history 模式時,URL 就像正常

    2024年02月10日
    瀏覽(25)
  • Vue路由模式(history模式 刷新頁面空白解決方案)

    Vue路由模式(history模式 刷新頁面空白解決方案)

    vue路由的三種模式 Hash模式 、 History模式 、 abstract 模式 Vue3: Hash 模式是用 createWebHashHistory() 創(chuàng)建的: Vue2 它在內(nèi)部傳遞的實(shí)際 URL 之前使用了一個哈希字符(#)。由于這部分 URL 從未被發(fā)送到服務(wù)器,所以它不需要在服務(wù)器層面上進(jìn)行任何特殊處理。不過,它在 SEO 中確實(shí)有

    2024年02月12日
    瀏覽(32)
  • hash 模式和 history 模式的實(shí)現(xiàn)原理

    #后面的 hash 值的變化不會導(dǎo)致瀏覽器向服務(wù)器發(fā)出請求,瀏覽器不發(fā)出請求,就不會刷新頁面。通過監(jiān)聽 hashchange 事件的變化可以知道 hash 值發(fā)生了哪些變化,然后根據(jù) hash 值的變化來實(shí)現(xiàn)更新頁面部分內(nèi)容的操作 history 模式的實(shí)現(xiàn)主要是通過 HTML5 標(biāo)準(zhǔn)發(fā)布的兩個 api,pus

    2024年02月14日
    瀏覽(36)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包