91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vue-router的兩種模式有哪些區別

發布時間:2022-03-03 17:07:00 來源:億速云 閱讀:281 作者:iii 欄目:web開發

這篇“vue-router的兩種模式有哪些區別”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“vue-router的兩種模式有哪些區別”文章吧。

區別:1、history的url沒有“#”號,而hash有;3、history修改的url可以是同域的任意url,而hash是同文檔的url;3、相同的url,history會觸發添加到瀏覽器歷史記錄棧中,而hash不會觸發。

本教程操作環境:windows7系統、vue2.9.6版,DELL G3電腦。

vue-router兩種模式

1.hash模式

vue-router默認的是hash’[h??] '模式,使用URL的hash來模擬一個完整的URL,于是當URL改變的時候,頁面不會重新加載,也就是單頁面應用了。當#后面的hash發生變化,不會導致瀏覽器向服務器發出請求,瀏覽器不會發出請求就不會刷新頁面,并且會觸發hasChange這個事件,通過監聽hash值的變化來實現更新頁面部分內容的操作。

對于hash模式會創建hashHistory對象,在訪問不同的路由的時候,會發生兩件事:

HashHistory.push()將新的路由添加到瀏覽器訪問的歷史的棧頂,和HasHistory.replace()替換到當前棧頂的路由。

vue-router的兩種模式有哪些區別

2.history模式

因為HTML5標準的發布,多了兩個API,pushState() 和 replaceState()。通過這兩個API

(1)可以改變url地址且不會發送請求。

(2)不僅可以讀取歷史記錄棧,還可以對瀏覽器歷史記錄棧進行修改。

除此之外,還有popState(),當瀏覽器跳轉到新的狀態時,將觸發popState事件。

添加/修改歷史狀態

包括了pushState,replaceState兩個方法,這兩個方法接收三個參數:stateObj,title,url

// 逐條添加歷史記錄條目
window.history.pushState(stateObject, title, URL)
// 修改歷史記錄
window.history.replaceState(stateObject, title, URL)

切換歷史記錄

包括 backforwardgo三個方法,對應瀏覽的前進(forward)、后退(back)、跳轉(go)操作。

區別:

  • history和hash都是利用瀏覽器的兩種特性實現前端路由,history是利用瀏覽歷史記錄棧的API實現,hash是監聽location對象hash值變化事件來實現

  • history的url沒有’#'號,hash反之

  • history修改的url可以是同域的任意url,hash是同文檔的url

  • 相同的url,history會觸發添加到瀏覽器歷史記錄棧中,hash不會觸發。

history和hash的優點和缺點

  • history比hash的url美觀(沒有’#'號)

  • history修改的url可以是同域的任意url,hash則只能是同文檔的url

  • history模式往往需要后端支持,如果后端nginx沒有覆蓋路由地址,就會返回404,hash因為是同文檔的url,即使后端沒有覆蓋路由地址,也不會返回404

  • hash模式下,如果把url作為參數傳后端,那么后端會直接從’#‘號截斷,只處理’#'號前的url,因此會存在#后的參數內容丟失的問題,不過這個問題hash模式下也有解決的方法。

history模式怕啥

不怕前進,不怕后退,就怕刷新,(如果后端沒有準備的話),因為刷新是實實在在地去請求服務器的。

在history模式下,你可以自由的修改path。history模式最終的路由都體現在url的pathname中,這部分是會傳到服務器端的,因此需要服務端對每一個可能的path值都作相應的映射。

當刷新時,如果服務器中沒有相應的響應或者資源,會分分鐘刷出一個404來。

以上就是關于“vue-router的兩種模式有哪些區別”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

江门市| 隆德县| 凌海市| 平遥县| 工布江达县| 荆门市| 大庆市| 梁山县| 五原县| 恩平市| 海伦市| 黔南| 渝北区| 宁阳县| 且末县| 定西市| 双牌县| 德化县| 和政县| 大丰市| 望谟县| 禹州市| 柏乡县| 莱芜市| 亚东县| 顺昌县| 昭平县| 轮台县| 榆社县| 鄂伦春自治旗| 金阳县| 花莲市| 奉贤区| 安多县| 错那县| 夏河县| 石阡县| 剑川县| 太白县| 定陶县| 临沭县|