亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

vue-router中的hash和history兩種模式的區別

2019-11-19 13:28:38
字體:
來源:轉載
供稿:網友

眾所周知,vue-router有兩種模式,hash模式和history模式,這里來談談兩者的區別。

hash模式

hash模式背后的原理是onhashchange事件,可以在window對象上監聽這個事件:

window.onhashchange = function(event){  console.log(event.oldURL, event.newURL);  let hash = location.hash.slice(1);  document.body.style.color = hash;}

上面的代碼可以通過改變hash來改變頁面字體顏色,雖然沒什么用,但是一定程度上說明了原理。

更關鍵的一點是,因為hash發生變化的url都會被瀏覽器記錄下來,從而你會發現瀏覽器的前進后退都可以用了,同時點擊后退時,頁面字體顏色也會發生變化。這樣一來,盡管瀏覽器沒有請求服務器,但是頁面狀態和url一一關聯起來,后來人們給它起了一個霸氣的名字叫前端路由,成為了單頁應用標配。

1016471-20170907211959179-793927527.gif

網易云音樂,百度網盤就采用了hash路由,看起來就是這個樣子:
http://music.163.com/#/friend

https://pan.baidu.com/disk/home#list/vmode=list

history路由

隨著history api的到來,前端路由開始進化了,前面的hashchange,你只能改變#后面的url片段,而history api則給了前端完全的自由

timg?image&quality=80&size=b9999_10000&sec=1504800942114&di=860578b9b35c22dfe6ad4825ea52eae5&imgtype=0&src=https://www.jb51.net/article/http%3A%2F%2Fwww.goumin.com%2Fattachments%2Fkedit%2F0%2F0%2F0%2F212%2F54472.jpg

history api可以分為兩大部分,切換和修改,參考MDN

切換歷史狀態

包括back,forward,go三個方法,對應瀏覽器的前進,后退,跳轉操作,有同學說了,(谷歌)瀏覽器只有前進和后退,沒有跳轉,嗯,在前進后退上長按鼠標,會出來所有當前窗口的歷史記錄,從而可以跳轉(也許叫跳更合適):

history.go(-2);//后退兩次history.go(2);//前進兩次history.back(); //后退hsitory.forward(); //前進

修改歷史狀態

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

history.pushState({color:'red'}, 'red', 'red'})window.onpopstate = function(event){  console.log(event.state)  if(event.state && event.state.color === 'red'){    document.body.style.color = 'red';  }}history.back();history.forward();

通過pushstate把頁面的狀態保存在state對象中,當頁面的url再變回這個url時,可以通過event.state取到這個state對象,從而可以對頁面狀態進行還原,這里的頁面狀態就是頁面字體顏色,其實滾動條的位置,閱讀進度,組件的開關的這些頁面狀態都可以存儲到state的里面。

history模式怕啥

通過history api,我們丟掉了丑陋的#,但是它也有個毛?。?/p>

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

在hash模式下,前端路由修改的是#中的信息,而瀏覽器請求時是不帶它玩的,所以沒有問題.但是在history下,你可以自由的修改path,當刷新時,如果服務器中沒有相應的響應或者資源,會分分鐘刷出一個404來。

所以,如果你想在github.io上搭一個單頁博客,就應該選擇hash模式。

總結

以上所述是小編給大家介紹的vue-router中的hash和history兩種模式的區別,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
成人激情免费在线| 尤物九九久久国产精品的特点| 日韩免费av在线| 国产亚洲视频在线观看| 68精品国产免费久久久久久婷婷| 欧美成人在线免费| 亚洲国产精品高清久久久| 久久亚洲电影天堂| 亚洲免费电影在线观看| 裸体女人亚洲精品一区| 亚洲加勒比久久88色综合| 欧美色道久久88综合亚洲精品| 亚洲最新中文字幕| 米奇精品一区二区三区在线观看| 不卡av在线播放| 亚洲美女av在线播放| 欧美性xxxx极品hd满灌| 成人欧美在线观看| 91高清视频免费| 国内精品400部情侣激情| 日韩电影中文字幕在线观看| 亚洲激情在线观看| 亚洲成人久久网| 正在播放欧美视频| 国产精品视频自拍| xxx欧美精品| 亚洲国产精品大全| 欧美丝袜一区二区| 国产精品a久久久久久| 亚洲综合色av| 亚洲中国色老太| 日韩免费精品视频| 精品久久久久久久久久ntr影视| 成人精品久久一区二区三区| 91免费人成网站在线观看18| 亚洲精品欧美极品| 日本精品久久久| 亚洲аv电影天堂网| 一色桃子一区二区| 久久精品亚洲国产| 国产一区在线播放| 亚洲欧美国产视频| 亚洲精品福利在线| 国产精品免费久久久久久| 97激碰免费视频| 日韩精品中文字幕在线| 2020欧美日韩在线视频| 日本sm极度另类视频| 精品亚洲aⅴ在线观看| 国产成人精品在线视频| 久久亚洲精品中文字幕冲田杏梨| 欧美成年人视频网站| 日韩电影中文字幕在线观看| 91麻豆国产语对白在线观看| 亚洲天堂av网| 日韩小视频网址| 久久精品这里热有精品| 日韩美女av在线| 久久久久亚洲精品国产| www.国产精品一二区| 色婷婷久久av| 亚洲97在线观看| 久久久亚洲成人| 久久精品一本久久99精品| 欧美老肥婆性猛交视频| 欧美日韩激情小视频| 一区二区亚洲精品国产| 久久亚洲春色中文字幕| 国产日韩中文在线| 亚洲精品欧美日韩| 欧洲成人性视频| 91在线播放国产| 97精品国产97久久久久久| 欧美亚洲免费电影| 日韩精品视频免费专区在线播放| 亚洲偷熟乱区亚洲香蕉av| 成人性生交xxxxx网站| 久久久免费精品| 亚洲天堂日韩电影| 国产做受69高潮| 8090理伦午夜在线电影| 91av福利视频| 国产一区二区视频在线观看| 日韩av免费一区| 亚洲国产精品久久91精品| 国产视频在线一区二区| 亚洲精品视频免费在线观看| 日韩av网址在线| 8x海外华人永久免费日韩内陆视频| 国产精品久久久久久久一区探花| 久久亚洲精品视频| 精品国产乱码久久久久久虫虫漫画| 欧美肥老妇视频| 日韩成人激情影院| 最近2019中文字幕一页二页| 深夜精品寂寞黄网站在线观看| 欧美性极品xxxx娇小| 国产精品三级久久久久久电影| 69视频在线免费观看| 欧美日韩亚洲精品一区二区三区| 色中色综合影院手机版在线观看| 久久99热这里只有精品国产| 91精品国产自产91精品| 日本久久久久亚洲中字幕| 国产九九精品视频| 国产精品一区二区女厕厕| 伊人久久综合97精品| 69**夜色精品国产69乱| 欧美专区在线播放| 91在线观看欧美日韩| 在线性视频日韩欧美| 久久97久久97精品免视看| 欧美性猛交xxxx免费看久久久| 茄子视频成人在线| 国产在线精品成人一区二区三区| 国产精品色婷婷视频| 欧美三级xxx| 在线观看日韩欧美| 日韩av资源在线播放| 国产精品稀缺呦系列在线| 欧美日韩国产激情| 久久夜色精品亚洲噜噜国产mv| 国产主播欧美精品| 亚洲第一页在线| 亚洲成人激情在线观看| 欧美中在线观看| 国产精品∨欧美精品v日韩精品| 精品国产一区二区三区在线观看| 不卡av在线播放| 欧美成人一区二区三区电影| 色黄久久久久久| 日韩亚洲综合在线| 欧美性videos高清精品| 最好看的2019的中文字幕视频| 美女福利视频一区| 啊v视频在线一区二区三区| 亚洲自拍偷拍色图| 欧美成人午夜影院| 亚洲精选在线观看| 伊人久久综合97精品| 欧美中文字幕精品| 欧美激情视频一区二区三区不卡| 在线观看欧美日韩国产| 国产美女久久久| 久久免费少妇高潮久久精品99| 亚洲精品欧美一区二区三区| 91老司机精品视频| 国产一区二区成人| 日韩av电影在线网| 26uuu另类亚洲欧美日本老年| 欧美激情videoshd| 69久久夜色精品国产7777| 国内精品久久久久久影视8| 欧美野外wwwxxx| 欧美性猛交xxxx偷拍洗澡| 欧美激情免费在线| 日本一区二区在线免费播放| 成人免费看吃奶视频网站| 欧美性生交大片免网| 日本国产欧美一区二区三区| 亚洲日本中文字幕免费在线不卡| 国产视频一区在线| 日本精品中文字幕| 91精品国产99|